Github/码云的ssh免密连接
我的虚拟机上面有两个.ssh文件夹,第一个在/home/malizhen/.ssh目录,用于本机和虚拟机之间的通信,在VSCode中实现本地主机远程登录虚拟机,见搭建与配置下的【VSCode:Remote-SSH配置】博文记录。为方便后期管理,将gem5/nvmain项目部署到码云上,而git项目也基于ssh的原理,就有了我的第二个ssh在/root/.ssh目录,也就是很多博客中说的~/.ssh目录。
进入当前用户的家目录。
1
$ cd ~
查看当前目录下是否有.ssh文件,若有则删除。
1
$ rm -rf .ssh
运行命令生成.ssh密钥目录,地址为你的github或码云的邮箱地址。
1
$ ssh-keygen -t rsa -C "123456@qq.com"
上一步一路enter直到最后即可,中间记得确认一下密钥文件存放目录是否是你想要的。接下来cd .ssh进入目录查看公钥文件的内容。
1
$ cat id_rsa.pub
复制公钥文件内容,登录码云,点击头像下设置-SSH公钥-添加公钥,标题随意,将公钥文件内容粘贴进去。
至此测试一下git服务器是否可达。
1
$ ssh -T git@gitee.com
提示以下内容不用管,输入yes即可,这样操作之后会在.ssh目录下生成known_hosts文件,作用不详。
1 | The authenticity of host 'gitee.com (120.55.226.24)' can't be established.ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc. |
接下来可以回到想要存放git项目的文件夹下,最好新建一个空文件夹,在该文件夹路径下,将远程git项目pull下来,一定要复制项目的ssh地址而不是https。
1
2
3
4
5
6
7$ git init
$ git remote add origin git@gitee.com:Malizhen/gem5.git
$ git remote -v
$ git pull origin master
$ git add -A
$ git commit -m "备注信息提交"
$ git push origin master
整个过程中不需要输入密码说明配置成功。
原文作者: malizhen
原文链接: http://malizhen.github.io/2019/09/18/Github-码云的ssh免密连接/
版权声明: 转载请注明出处(必须保留原文作者署名及原文链接)