我正在重新安装 Linux 桌面,如何保持 SSH 登录正常工作?

我正在重新安装 Linux 桌面,如何保持 SSH 登录正常工作?

很久以前,我使用生成了密钥对ssh-keygen,并用于ssh-copy-id启用登录到许多开发虚拟机而无需手动输入密码。我还在 GitHub、GitLab 上上传了我的公钥,类似于使用git@而不是.git 存储库进行身份验证https://

如何重新安装 Linux 桌面并保持所有这些登录正常工作?备份和恢复就~/.ssh/足够了吗?

答案1

您至少需要备份您的私钥。如果不到处替换您的公钥,就无法重新生成它们。它们的名称通常以 开头id_,没有扩展名。

可以使用以下命令重新生成公钥:ssh-keygen -y -f path/to/private/key。如果您设置了任何非默认值,您的用户配置(名为“config”的文件)也可能很有用。

所有这些文件都会通常情况下位于 ~/.ssh 中,但首先检查!

答案2

为了外向的SSH连接,备份你的密钥对就足够了。为了方便起见,您可以只备份~/.ssh目录并将其恢复到新安装中。

通常备份和恢复该目录就足够了,但可以通过使用 或 中的自定义设置或使用 SSH 代理将密钥存储在其他位置,~/.ssh/config/etc/ssh/ssh_configssh-add任意位置获取要在传出连接上使用的密钥。

如果你有传入SSH 连接,您还可以考虑在 处备份 SSH 主机密钥/etc/ssh/ssh_host_*。如果您不备份这些内容,则sshd在新安装上首次启动时将自动生成新的主机密钥,并且任何传入的 SSH 连接都会显示“SSH 主机密钥不匹配,有人可能在做坏事!”错误消息,并且通常会拒绝连接,除非有人删除 SSH 客户端上的旧主机密钥并明确接受新主机密钥。

听起来您的 Linux 桌面系统上可能没有传入的 SSH 连接,因此我提及这一点只是为了完整起见。但在服务器系统上,或者如果您设置了重要的基于 SSH 的自动化设置,则确认更改的主机密钥可能会很麻烦。

相关内容