Ubuntu上如何用GitHub免密拉取代码

June 12, 2020, 5:59 p.m.

1. 关于SSH

使用SSH协议,可以连接到远程服务器和服务并进行身份验证。

使用SSH密钥,可以连接到GitHub,而无需在每次访问时都提供用户名或密码。

2. 检查是否已经存在SSH秘钥

在生成SSH秘钥之前,可以检查一下是否已经存在SSH秘钥。

  • 打开终端。

  • 输入ls -al ~/.ssh看一下是否已经存在SSH秘钥:

    $ ls -al ~/.ssh
    # 如果存在,会列举出来相关文件
    
  • 检查目录列表,以查看是否已经有公共SSH密钥。 默认情况下,公共密钥的文件名是以下之一:

    • id_rsa.pub
    • id_ecdsa.pub
    • id_ed25519.pub

如果此目录下没有文件,即不存在SSH 秘钥,则进入第三步。

3. 生成新的SSH秘钥并添加到ssh-agent中

  • 打开终端。

  • 粘贴下面的命令,其中替换为你自己的GitHub邮件地址:

    $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
  • 当系统提示“Enter a file in which to save the key(输入要在其中保存密钥的文件)”时,请按Enter。 这接受默认文件位置。

    > Enter a file in which to save the key (/home/you/.ssh/id_rsa): [Press enter]
    
  • 在提示符下,输入一个安全密码,也可以直接Enter。

    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]
    
  • 在添加新的SSH秘钥时,需要用ssh-agent管理你的秘钥,因此,启动ssh-agent。

    $ eval "$(ssh-agent -s)"
    > Agent pid 59566
    
  • 将SSH私钥添加到ssh-agent。 如果使用其他名称创建密钥,或者要添加具有其他名称的现有密钥,请使用私有密钥文件的名称替换命令中的id_rsa

    $ ssh-add ~/.ssh/id_rsa
    

4. 将SSH秘钥添加到你的GitHub账户上

用新的SSH秘钥配置GitHub账户。

  • 复制SSH秘钥,也就是~/.ssh/id_rsa.pub文件。
  • 进入GitHub个人账户,点击 Settings —>SSH and GPG keys—>New SSH key(随便起个名字,然后拷贝到Key字段中)—>Add SSH key—>输入账户密码。

5. 测试SSH连接

在测试SSH连接之前,确保已经完成了如上的步骤。

  • 打开终端。

  • 输入:

    $ ssh -T git@github.com
    # Attempts to ssh to GitHub
    

    你可能会看到类似的warning:

    The authenticity of host ‘github.com (IP ADDRESS)’ can’t be established.
    RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
    Are you sure you want to continue connecting (yes/no)?

    或者:

    The authenticity of host ‘github.com (IP ADDRESS)’ can’t be established.
    RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
    Are you sure you want to continue connecting (yes/no)?

  • 确认并输入yes:

    > Hi username! You've successfully authenticated, but GitHub does not
    > provide shell access.
    

6. 参考阅读:

7. 可能会出现的Bug:

  • Bad owner or permissions on ~/.ssh/config:

    chmod 600 ~/.ssh/config
    




评论:

【2020】长大以后

一直没想好怎么总结自己的2020,因此拖了许久,今天已是1月10号,想好了要说的话和这一年的经历,就过来写了。 2020年,我25岁了,这一年让我明白了很多的道理,体验了不同的经历,有了不一样的收获…

可视化工具小仓库

文章标题:可视化工具小仓库文章内容:最近整理了一些关于怎么论文画图的资料, 趁热打铁, 赶紧记录一下, 防止我的臭记性在写论文的时候抓瞎!!! 深度学习网络图 Github: https://git…

Developed by zhangpeng | Powered by ASP.NET Run on IIS | Copyright © 2018-2023 zhangpeng.ai