使用ssh连接github

关于SSH

使用SSH协议,您可以连接并验证远程服务器和服务。使用SSH密钥,您可以连接到GitHub,而无需在每次访问时提供您的用户名或密码。

当您设置SSH时,您将生成一个SSH密钥并将其添加到ssh-agent,然后将密钥添加到您的GitHub帐户将SSH密钥添加到ssh-agent可确保您的SSH密钥通过使用密码短语具有额外的安全性。有关更多信息,请参阅“ 使用SSH密钥密码”

要将SSH密钥与使用SAML单点登录的组织拥有的存储库一起使用,您需要先对其进行授权。有关更多信息,请参阅“ 授权用于SAML单一登录组织的SSH密钥 ”。

我们建议您定期查看您的SSH密钥列表,并撤销任何无效或已被入侵的密钥

检查现有的SSH密钥

  • MAC 

在生成SSH密钥之前,您可以检查是否有任何现有的SSH密钥。

注意:在OpenSSH 7.0中不推荐使用DSA密钥。如果您的操作系统使用OpenSSH,则在设置SSH时需要使用备用类型的密钥,例如RSA密钥。例如,如果您的操作系统是MacOS Sierra,则可以使用RSA密钥设置SSH。

  1. 打开终端

  2. 输入ls -al ~/.ssh以查看现有的SSH密钥是否存在:

    ls -al〜/ .ssh 
    #列出.ssh目录中的文件(如果存在)
    
  3. 检查目录列表,看看你是否已经有一个公共的SSH密钥。

默认情况下,公钥的文件名是以下之一:

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

  • 如果您没有现有的公钥和私钥对,或者不希望使用任何可用于连接到GitHub的公钥和私钥,请生成一个新的SSH密钥

  • 如果您看到列出的现有公钥和私钥对(例如id_rsa.pubid_rsa),那么您可以将SSH密钥添加到ssh-agent中

生成一个新的SSH密钥并将其添加到ssh-agent

在检查了现有的SSH密钥后,可以生成一个新的SSH密钥用于身份验证,然后将其添加到ssh-agent。

如果您还没有SSH密钥,则必须生成一个新的SSH密钥如果您不确定是否已有SSH密钥,请检查现有密钥

如果您不想在每次使用SSH密钥时重新输入密码,可以将密钥添加到管理您的SSH密钥的SSH代理并记住您的密码。

生成一个新的SSH密钥

  1. 打开终端

  2. 粘贴下面的文本,替换您的GitHub电子邮件地址。

    ssh-keygen -t rsa -b 4096 -C“ your_email@example.com
    

    这将创建一个新的ssh密钥,使用提供的电子邮件作为标签。

    生成公钥/私钥rsa密钥对。
    
  3. 当系统提示您输入要保存密钥的文件时,请按Enter键。这接受默认的文件位置。

    输入要保存密钥的文件(/ Users / you /.ssh/id_rsa):[按回车键]
    
  4. 在提示符下,输入安全密码。有关更多信息,请参阅“使用SSH密钥密码”
    输入密码(空密码):[
    输入密码]再次输入相同的密码:[再次输入密码短语]
    

将您的SSH密钥添加到ssh-agent

在将新的SSH密钥添加到ssh-agent来管理您的密钥之前,您应该检查现有的SSH密钥生成一个新的SSH密钥将SSH密钥添加到代理时,使用默认的macOS ssh-add命令,而不是由macports自制软件或其他外部源安装的应用程序

  1. 在后台启动ssh-agent。

    eval“$(ssh-agent -s)” 
    Agent pid 59566
    
  2. 如果您使用的是macOS Sierra 10.12.2或更高版本,则需要修改~/.ssh/config文件以自动将密钥加载到ssh-agent中,并将密钥存储在您的钥匙串中。

    Host *
     AddKeysToAgent yes
     UseKeychain yes
     IdentityFile ~/.ssh/id_rsa
    
  3. 将你的SSH私钥添加到ssh-agent并将你的密码存储在keychain中。如果使用不同的名称创建密钥,或者要添加具有不同名称的现有密钥,请将命令中的id_rsa替换为私钥文件的名称。

    $ ssh-add -K〜/ .ssh / id_rsa
    
  4. 将SSH密钥添加到您的GitHub帐户

  5. 添加一个新的SSH密钥到你的GitHub帐户

    要配置您的GitHub帐户使用您的新(或现有)SSH密钥,您还需要将其添加到您的GitHub帐户。

    在将新的SSH密钥添加到您的GitHub帐户之前,您应该拥有:

    注意:在OpenSSH 7.0中不推荐使用DSA密钥。如果您的操作系统使用OpenSSH,则在设置SSH时需要使用备用类型的密钥,例如RSA密钥。例如,如果您的操作系统是MacOS Sierra,则可以使用RSA密钥设置SSH。

    1. 将SSH密钥复制到剪贴板。

      如果您的SSH密钥文件与示例代码名称不同,请修改文件名以匹配您当前的设置。复制密钥时,请勿添加任何换行符或空格。

      $ pbcopy <〜/ .ssh / id_rsa.pub
      #将id_rsa.pub文件的内容复制到剪贴板
      

      提示:如果pbcopy不工作,您可以找到隐藏的.ssh文件夹,在您最喜爱的文本编辑器中打开文件,并将其复制到剪贴板。

    2. 用户栏中的设置图标在任何页面的右上角,点击你的个人资料照片,然后点击设置

    3. 验证密钥在用户设置侧栏中,单击SSH和GPG密钥

    4. SSH密钥按钮单击新建SSH密钥添加SSH密钥

    5. 在“标题”字段中,为新密钥添加一个描述性标签。例如,如果您使用的是个人Mac,则可以将其称为“Personal MacBook Air”。
    6. 关键字段将您的密钥粘贴到“密钥”字段中。
    7. 添加键按钮点击添加SSH密钥
    8. Sudo模式对话框如果出现提示,请确认您的GitHub密码。


测试你的SSH连接


在你设置你的SSH密钥并将其添加到你的GitHub帐户后,你可以测试你的连接。

在测试你的SSH连接之前,你应该有:

在测试连接时,您需要使用您的密码(这是您之前创建的SSH密钥)验证此操作。有关使用SSH密钥密码的详细信息,请参阅“使用SSH密码密码”

  1. 打开终端

  2. 输入以下内容:

    ssh -T git@github.com#
    尝试SSH到GitHub
    

    您可能会看到以下警告之一:

    主机'github.com(192.30.252.1)'的真实性无法建立。
    RSA密钥指纹是16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48。
    你确定要继续连接(是/否)吗?
    
    主机'github.com(192.30.252.1)'的真实性无法建立。
    RSA密钥指纹是SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8。
    你确定要继续连接(是/否)吗?
    

    注意:上面的例子列出了GitHub的IP地址192.30.252.1。在ping GitHub的时候,你可能会看到一系列的IP地址。有关更多信息,请参阅“GitHub使用哪些IP地址作为白名单?”

  3. 确认您看到的消息中的指纹与步骤2中的其中一条消息匹配,然后键入yes

    你好用户名您已成功通过身份验证,但GitHub不
    提供shell访问权限。
    
  4. 验证结果消息是否包含您的用户名。如果收到“权限被拒绝”消息,请参阅“错误:权限被拒绝(公钥)”

使用SSH密钥密码

您可以保护您的SSH密钥并配置身份验证代理,这样您就不必在每次使用SSH密钥时重新输入密码。

使用SSH密钥,如果有人可以访问您的计算机,他们也可以访问使用该密钥的每个系统。要添加额外的安全层,您可以将密码添加到您的SSH密钥。您可以使用ssh-agent安全地保存您的密码,因此您不必重新输入密码。

添加或更改密码

您可以通过输入以下命令来更改现有私钥的密码,而无需重新生成密钥对:

ssh-keygen -p

#启动SSH密钥创建过程
中输入的文件,其中的关键是(/用户/  /.ssh/id_rsa):[点击进入]
主要有评论“/用户/  /.ssh/id_rsa” 
进入新密码(空密码):[
输入
新的密码]再次输入相同的密码:[多一次运气]您的身份已经保存在新密码中。

如果您的密钥已经有密码,您将被提示输入密码,然后才能更改为新的密码。

保存密钥链中的密码

在OS X Leopard中,通过OS X El Capitan,这些默认私钥文件被自动处理:

  • .ssh/id_rsa
  • .ssh/id_dsa
  • .ssh/identity

第一次使用密钥时,系统会提示您输入密码。如果您选择使用钥匙串保存密码,则不必再次输入密码。

否则,将密钥添加到ssh-agent时,可以将密码存储在密钥链中。有关更多信息,请参阅“ 将SSH密钥添加到ssh-agent”

参考文档:https://help.github.com/articles/generating-ssh-keys

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值