使用git的ssh

Posted githubmyl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用git的ssh相关的知识,希望对你有一定的参考价值。

一、前言

之前一直在使用https来push仓库,缺点是每次都需要输入账号和密码。使用ssh的话,可以不输入密码。

二、使用

  • 单个ssh
    仅仅使用github作为远程仓库服务器,那么只需要一个ssh即可。
    生成ssh:

    ssh-keygen -t rsa -C "[email protected]"  -f ~/.ssh/github_id_rsa

    使用上述命令,会在目录~/.ssh(windows在C:/Users/admininstrator/.ssh/)中生成两个文件:github_id_rsa和github_id_rsa.pub,分别保存私钥和公钥。

    查看公钥:

    cat ~/.ssh/github_id_rsa.pub

    上面命令查看github_id_rsa.pub文件的内容,输出公钥,复制该公钥

    打开github添加ssh公钥:
    技术分享图片
    在key中粘贴刚才复制的公钥,title随意填写。

    查看链接是否成功:

    ssh -T [email protected]

    返回含successfully单词的语句,表示链接成功。

    使用ssh push/pull仓库:
    进入一个仓库,克隆仓库ssh
    技术分享图片

    然后,在添加远程仓库时,使用这个ssh

    git remote add github '刚刚复制的ssh'
    这样,就可以使用ssh进行push/pull了。
  • 多个ssh
    当既使用多个git的远程服务器时,比如码云、github。这时,需要管理多个ssh。
    生成公钥

    ssh-keygen -t rsa -C "[email protected]"  -f ~/.ssh/gitee_id_rsa
    ssh-keygen -t rsa -C "[email protected]"  -f ~/.ssh/github_id_rsa

    这里的重点在于,将公钥保存在不同的文件中,即区分二者。
    查看公钥

    cat ~/.ssh/github_id_rsa.pub
    cat ~/.ssh/gitee_id_rsa.pub

    在远程服务器(码云、github)中添加公钥(略)

    配置config
    在~/.ssh(windows在C:/Users/admininstrator/.ssh/)目录下新建一个config文件(不含扩展名)。在文件中,添加下面内容:

    # gitee
    Host gitee.com
    HostName gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitee_id_rsa
    
    # github
    Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id_rsa

    检查连接是否成功

    $ ssh -T [email protected]
    $ ssh -T [email protected]

    同时,在.ssh目录下回生成know_hosts文件来区分不同的ssh
    使用ssh来push和pull(略)

提示:单个ssh和多个ssh的配置步骤并没有太大区别,不同是多个ssh时,需要添加一个config文件来区分ssh。

以上是关于使用git的ssh的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

关于 Git SSH 使用的项目实践

Git Github使用文档

如何管理在每个 git 版本中添加私有代码片段?

如何在windows通过git ssh linux