赞
踩
在使用Git推送代码的时候,会默认需要输入密码。如果经常推送代码,那就需要经常输入密码,比较繁琐。所以Git也提供了免密登录的功能。
Git本身支持两种协议对远程Git仓库进行访问:HTTPS、SSH。两种方式有一定的区别,不过区别不是本博客的重点,就不过多介绍。本文重点介绍通过SSH协议对远程仓库进行访问时,如何配置免密登录。
打开cmd命令行,输入如下命令生成密钥:
ssh-keygen -t rsa -C "xxx" # -C后面的内容是注释,可以随便填写
第一使用该命令时,之后会在用户目录下生成.ssh
文件夹。其中会有一些文件,包括:id_rsa
、id_rsa.pub
以及其他的文件。id_rsa
是私钥,id_rsa.pub
是公钥。
将公钥文件中的内容复制,并保存到服务器的~/.ssh/authorized_keys
文件中。
现在密钥有了,还需要在本机配置什么时候,用密钥进行免密登录。这里要用到~/.ssh
文件夹中的config
文件。需要注意,这个文件不是生成的,需要手动创建。创建好后,填写如下信息:
Host 服务器别名
HostName 服务器主机名(IP)
User 登录用户名
IdentityFile ~/.ssh/id_rsa
其中
这里记录一个我遇到的坑。我之前在SSH的config文件中配置了一次服务器的相关信息。但是之后这个服务器突然搬到另外一个地方去了,IP变了,端口也变了。我之后再使用Git进行推送的时候,因为太久没配置ssh了,忘记了有config这个文件,以为把Git的IP改了就行了。结果死活推送不上去。之后才发现要改SSH的config文件,把端口去掉才行。
另外,SSH密钥是全局的,并不局限于在Git中使用。只要计算机通讯用到了SSH协议,都可以使用这个密钥进行免密登录,比如:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。