匠人精神网站建设,wordpress 打包 转移,萧山网站建设,东莞做小程序的公司背景
在使用Git推送代码的时候#xff0c;会默认需要输入密码。如果经常推送代码#xff0c;那就需要经常输入密码#xff0c;比较繁琐。所以Git也提供了免密登录的功能。
Git本身支持两种协议对远程Git仓库进行访问#xff1a;HTTPS、SSH。两种方式有一定的区别#xf…背景
在使用Git推送代码的时候会默认需要输入密码。如果经常推送代码那就需要经常输入密码比较繁琐。所以Git也提供了免密登录的功能。
Git本身支持两种协议对远程Git仓库进行访问HTTPS、SSH。两种方式有一定的区别不过区别不是本博客的重点就不过多介绍。本文重点介绍通过SSH协议对远程仓库进行访问时如何配置免密登录。
配置免密
生成RSA密钥
打开cmd命令行输入如下命令生成密钥
ssh-keygen -t rsa -C xxx # -C后面的内容是注释可以随便填写第一使用该命令时之后会在用户目录下生成.ssh文件夹。其中会有一些文件包括id_rsa、id_rsa.pub以及其他的文件。id_rsa是私钥id_rsa.pub是公钥。
将公钥内容上传到Git服务器
将公钥文件中的内容复制并保存到服务器的~/.ssh/authorized_keys文件中。
配置ssh
现在密钥有了还需要在本机配置什么时候用密钥进行免密登录。这里要用到~/.ssh文件夹中的config文件。需要注意这个文件不是生成的需要手动创建。创建好后填写如下信息
Host 服务器别名HostName 服务器主机名IPUser 登录用户名IdentityFile ~/.ssh/id_rsa其中
Host服务器别名是指在使用ssh协议进行通讯的时候不需要写完整的IP只需要写别名就可以比较方便HostName就是服务器实际的IPUser是登录的用户名IdentityFile是RSA私钥的路径 这里记录一个我遇到的坑。我之前在SSH的config文件中配置了一次服务器的相关信息。但是之后这个服务器突然搬到另外一个地方去了IP变了端口也变了。我之后再使用Git进行推送的时候因为太久没配置ssh了忘记了有config这个文件以为把Git的IP改了就行了。结果死活推送不上去。之后才发现要改SSH的config文件吗把端口去掉才行。 另外SSH密钥是全局的并不局限于在Git中使用。只要计算机通讯用到了SSH协议都可以使用这个密钥进行免密登录比如
SSH命令远程登录到另外一台机器SCP命令在本机和远程机器之间传输文件Git相关的命令比如git clone、git push等