如何在我新安装的Ubuntu上使用现有的SSH密钥

我在我的机器上安装了全新的Ubuntu 16.04。 现在我想要使用我现有的SSH密钥,这样我就可以在GitHub上继续使用之前的活动。
我该如何设置这个?
2个回答

如果你有你的ssh密钥的副本(例如,存储在USB闪存驱动器上),那么只需将密钥文件复制到~/.ssh/目录即可。

E.g.,

cp /path/to/my/key/id_rsa ~/.ssh/id_rsa
cp /path/to/my/key/id_rsa.pub ~/.ssh/id_rsa.pub
# change permissions on file
sudo chmod 600 ~/.ssh/id_rsa
sudo chmod 600 ~/.ssh/id_rsa.pub
# start the ssh-agent in the background
eval $(ssh-agent -s)
# make ssh agent to actually use copied key
ssh-add ~/.ssh/id_rsa

否则,您需要创建一个新的并将其添加到您的GitHub帐户https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/。在此期间,请务必从GitHub中删除旧密钥。

谢谢 @amc我怎样把代码从GitHub复制到我的电脑上? - smehsan
如果你还没有密钥的副本,那么你需要创建一个新的,并将其添加到你的 GitHub 帐户中。https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/ - amc
所以,我需要创建一个新的SSH密钥并将其添加到GitHub,对吗?而且我还需要从之前创建的GitHub中删除先前的SSH密钥。 - smehsan
是的,听起来你没有备份你的密钥文件,所以你只需要制作新的并删除旧的密钥。 - amc
1只是简单地留个便条提醒一下,两个文件的权限需要设置为600,例如:-rw------- 示例:chmod 600 id_rsa*直接复制粘贴文件的默认权限是不起作用的。 - Strixy
公钥的权限不像私钥那样关键 - 系统允许公钥对全球可读,而不允许私钥对此。 - Thomas Ward

步骤1:授予ssh文件夹权限

chmod 700 ~/.ssh

步骤2:授予ssh密钥文件权限

chmod 600 ~/.ssh/id_rsa

chmod 644 ~/.ssh/id_rsa.pub

步骤3:在客户端机器上运行以下命令,将SSH密钥添加到代理程序中。

ssh-add

现在您可以使用ssh-add -l(再次在客户端上)确认它确实已添加。