概述
关于SSH
使用SSH协议,您可以连接并验证远程服务器和服务。使用SSH密钥,您可以连接到GitHub,而无需在每次访问时提供您的用户名或密码。
当您设置SSH时,您将生成一个SSH密钥并将其添加到ssh-agent,然后将密钥添加到您的GitHub帐户。将SSH密钥添加到ssh-agent可确保您的SSH密钥通过使用密码短语具有额外的安全性。有关更多信息,请参阅“ 使用SSH密钥密码”。
要将SSH密钥与使用SAML单点登录的组织拥有的存储库一起使用,您需要先对其进行授权。有关更多信息,请参阅“ 授权用于SAML单一登录组织的SSH密钥 ”。
我们建议您定期查看您的SSH密钥列表,并撤销任何无效或已被入侵的密钥。
检查现有的SSH密钥
在生成SSH密钥之前,您可以检查是否有任何现有的SSH密钥。
注意:在OpenSSH 7.0中不推荐使用DSA密钥。如果您的操作系统使用OpenSSH,则在设置SSH时需要使用备用类型的密钥,例如RSA密钥。例如,如果您的操作系统是MacOS Sierra,则可以使用RSA密钥设置SSH。
-
打开终端。
-
输入
ls -al ~/.ssh
以查看现有的SSH密钥是否存在:ls -al〜/ .ssh #列出.ssh目录中的文件(如果存在)
-
检查目录列表,看看你是否已经有一个公共的SSH密钥。
默认情况下,公钥的文件名是以下之一:
- id_dsa.pub
- id_ecdsa.pub
- id_ed25519.pub
-
id_rsa.pub
-
如果您没有现有的公钥和私钥对,或者不希望使用任何可用于连接到GitHub的公钥和私钥,请生成一个新的SSH密钥。
- 如果您看到列出的现有公钥和私钥对(例如id_rsa.pub和id_rsa),那么您可以将SSH密钥添加到ssh-agent中。
生成一个新的SSH密钥并将其添加到ssh-agent
在检查了现有的SSH密钥后,可以生成一个新的SSH密钥用于身份验证,然后将其添加到ssh-agent。
如果您还没有SSH密钥,则必须生成一个新的SSH密钥。如果您不确定是否已有SSH密钥,请检查现有密钥。
如果您不想在每次使用SSH密钥时重新输入密码,可以将密钥添加到管理您的SSH密钥的SSH代理并记住您的密码。
生成一个新的SSH密钥
-
打开终端。
-
粘贴下面的文本,替换您的GitHub电子邮件地址。
ssh-keygen -t rsa -b 4096 -C“ your_email@example.com ”
这将创建一个新的ssh密钥,使用提供的电子邮件作为标签。
生成公钥/私钥rsa密钥对。
-
当系统提示您输入要保存密钥的文件时,请按Enter键。这接受默认的文件位置。
输入要保存密钥的文件(/ Users / you /.ssh/id_rsa):[按回车键]
- 在提示符下,输入安全密码。有关更多信息,请参阅“使用SSH密钥密码”。
输入密码(空密码):[ 输入密码]再次输入相同的密码:[再次输入密码短语]
将您的SSH密钥添加到ssh-agent
在将新的SSH密钥添加到ssh-agent来管理您的密钥之前,您应该检查现有的SSH密钥并生成一个新的SSH密钥。将SSH密钥添加到代理时,使用默认的macOS ssh-add
命令,而不是由macports,自制软件或其他外部源安装的应用程序。
-
在后台启动ssh-agent。
eval“$(ssh-agent -s)” Agent pid 59566
-
如果您使用的是macOS Sierra 10.12.2或更高版本,则需要修改
~/.ssh/config
文件以自动将密钥加载到ssh-agent中,并将密钥存储在您的钥匙串中。Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa
-
将你的SSH私钥添加到ssh-agent并将你的密码存储在keychain中。如果使用不同的名称创建密钥,或者要添加具有不同名称的现有密钥,请将命令中的id_rsa替换为私钥文件的名称。
$ ssh-add -K〜/ .ssh / id_rsa
-
将SSH密钥添加到您的GitHub帐户。
-
添加一个新的SSH密钥到你的GitHub帐户
要配置您的GitHub帐户使用您的新(或现有)SSH密钥,您还需要将其添加到您的GitHub帐户。
在将新的SSH密钥添加到您的GitHub帐户之前,您应该拥有:
- 检查现有的SSH密钥
- 生成一个新的SSH密钥,并将其添加到ssh-agent
注意:在OpenSSH 7.0中不推荐使用DSA密钥。如果您的操作系统使用OpenSSH,则在设置SSH时需要使用备用类型的密钥,例如RSA密钥。例如,如果您的操作系统是MacOS Sierra,则可以使用RSA密钥设置SSH。
-
将SSH密钥复制到剪贴板。
如果您的SSH密钥文件与示例代码名称不同,请修改文件名以匹配您当前的设置。复制密钥时,请勿添加任何换行符或空格。
$ pbcopy <〜/ .ssh / id_rsa.pub #将id_rsa.pub文件的内容复制到剪贴板
提示:如果
pbcopy
不工作,您可以找到隐藏的.ssh
文件夹,在您最喜爱的文本编辑器中打开文件,并将其复制到剪贴板。 -
在任何页面的右上角,点击你的个人资料照片,然后点击设置。
-
在用户设置侧栏中,单击SSH和GPG密钥。
-
单击新建SSH密钥或添加SSH密钥。
- 在“标题”字段中,为新密钥添加一个描述性标签。例如,如果您使用的是个人Mac,则可以将其称为“Personal MacBook Air”。
- 将您的密钥粘贴到“密钥”字段中。
- 点击添加SSH密钥。
- 如果出现提示,请确认您的GitHub密码。
测试你的SSH连接
在你设置你的SSH密钥并将其添加到你的GitHub帐户后,你可以测试你的连接。
在测试你的SSH连接之前,你应该有:
- 检查现有的SSH密钥
- 生成一个新的SSH密钥
- 为您的GitHub帐户添加了一个新的SSH密钥
在测试连接时,您需要使用您的密码(这是您之前创建的SSH密钥)验证此操作。有关使用SSH密钥密码的详细信息,请参阅“使用SSH密码密码”。
-
打开终端。
-
输入以下内容:
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地址作为白名单?”
-
确认您看到的消息中的指纹与步骤2中的其中一条消息匹配,然后键入
yes
:你好用户名!您已成功通过身份验证,但GitHub不 提供shell访问权限。
-
验证结果消息是否包含您的用户名。如果收到“权限被拒绝”消息,请参阅“错误:权限被拒绝(公钥)”。
使用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
最后
以上就是如意乌龟为你收集整理的使用ssh连接github的全部内容,希望文章能够帮你解决使用ssh连接github所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复