我的虚拟机上面有两个.ssh文件夹,第一个在/home/malizhen/.ssh目录,用于本机和虚拟机之间的通信,在VSCode中实现本地主机远程登录虚拟机,见搭建与配置下的【VSCode:Remote-SSH配置】博文记录。为方便后期管理,将gem5/nvmain项目部署到码云上,而git项目也基于ssh的原理,就有了我的第二个ssh在/root/.ssh目录,也就是很多博客中说的~/.ssh目录。

  1. 进入当前用户的家目录。

    1
    $ cd ~
  2. 查看当前目录下是否有.ssh文件,若有则删除。

    1
    $ rm -rf .ssh
  3. 运行命令生成.ssh密钥目录,地址为你的github或码云的邮箱地址。

    1
    $ ssh-keygen -t rsa -C "123456@qq.com"
  4. 上一步一路enter直到最后即可,中间记得确认一下密钥文件存放目录是否是你想要的。接下来cd .ssh进入目录查看公钥文件的内容。

    1
    $ cat id_rsa.pub
  5. 复制公钥文件内容,登录码云,点击头像下设置-SSH公钥-添加公钥,标题随意,将公钥文件内容粘贴进去。

  6. 至此测试一下git服务器是否可达。

    1
    $ ssh -T git@gitee.com

提示以下内容不用管,输入yes即可,这样操作之后会在.ssh目录下生成known_hosts文件,作用不详。

1
2
3
The authenticity of host 'gitee.com (120.55.226.24)' can't be established.ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.

Are you sure you want to continue connecting (yes/no)?
  1. 接下来可以回到想要存放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

整个过程中不需要输入密码说明配置成功。