我以前有一台装有 Ubuntu 桌面版 18.04 的旧笔记本电脑和一台装有 Ubuntu 服务器版 18.04 的戴尔服务器。笔记本电脑和服务器上安装了 ssh 密钥,我可以不用密码连接到服务器。现在我有一台安装了 Ubuntu 桌面版 18.04 的新笔记本电脑,但无法通过 ssh 连接到服务器。我有文件私钥/公钥。我如何在笔记本电脑上安装它们以连接到服务器?
答案1
您无需“安装”密钥即可使用 ssh,只需引用私钥即可。例如:
ssh -i ~/my_private_key_file my_user_name@my_server_name
请注意,只要您的用户名在本地和远程计算机上相同,您就可以删除您的用户名,然后:
ssh -i ~/my_private_key_file my_server_name
如果您编辑 ~/.ssh/config 文件并添加以下内容,则会更加方便:
Host any_name
HostName my_server_name
User my_user_name
IdentityFile ~/my_private_key_file
如果你已经完成上述操作,那么你可以像这样通过 ssh 登录:
ssh any_name
您还可以使用 keychain。Keychain 允许您将密钥文件加载到内存中,如下所示:
apt install keychain
然后
keychain
ssh-add my_private_key_file
将密钥文件按上述方式加载到内存中后,您只需:
ssh my_user_name@my_server_name
您不必每次都将密钥加载到钥匙串中。即使您关闭了运行密钥的终端,密钥仍会保留在内存中。只有在您注销或重新启动时才会丢失它。
最后,“梦想设置”是这样的:
首次登录本地机器时,将密钥文件加载到钥匙串中。
将以下内容添加到您的 .ssh/config 文件中(请注意没有“Identity File”行)
Host any_name
HostName my_server_name
User my_user_name
然后通过 ssh :
ssh any_name
答案2
如果您仍有权访问旧计算机,只需将目录复制~/.ssh
到新计算机,一切应像以前一样工作。例如,如果您可以ssh
(使用密码)从旧计算机访问新计算机,只需运行
user@oldMachine $ scp -r ~/.ssh user@newMachine ~/.ssh
如果没有,只需使用 USB 棒复制它,甚至通过电子邮件发送给自己。~/.ssh
复制目录后,一切都会像以前一样工作。
如果由于某种原因您无法执行此操作,则重新设置无密码 ssh 很简单。只需按照此答案中的说明操作即可:https://askubuntu.com/a/46935/85695。