如何将旧机器的私钥导入新机器?

How could I import private key of my old machine to a new machine?

昨天,我换了笔记本电脑的硬盘。我用它来配置许多服务器(我通过 ssh 密钥远程它们)。

我已将 id_dsa 和 id_dsa.pub 从旧硬盘复制到 USB 闪存盘。

在我的新硬盘驱动器上安装新的 Debian 后,我将它们放入用户的 /.ssh 并尝试连接到我的服务器,但我有 "Permission denied (publickey)".

我在网上搜索过,并尝试了一些解决方案,例如使用 "chmod 600" 更改权限,但它不起作用。

请问您对我的问题有什么想法吗?

我猜你更新了你的系统和 openssh 的版本到 7.x。这个版本obsoleted DSA keys:

  • Support for ssh-dss, ssh-dss-cert-* host and user keys is disabled by default at run-time. These may be re-enabled using the instructions at http://www.openssh.com/legacy.html

如果你想使用它们,你需要修改你的~/.ssh/config:

PubkeyAcceptedKeyTypes=+ssh-dss

或者直接在命令行指定命令:

ssh -o PubkeyAcceptedKeyTypes=+ssh-dss your_server

你有道理,问题是ssh-dss被禁用了。

因此,为了解决它,我在 .ssh 文件夹中创建了配置文件并插入了行。

再次感谢您。