我正在尝试在 Arch Linux 和 Ubuntu 之间设置基于密钥的身份验证。两个操作系统都是虚拟安装(我知道这并不重要,仅供参考)。
我在 Arch 和 Ubuntu 机器上使用ssh-keygen
命令生成了默认选项的 ssh 密钥,然后使用ssh-copy-id
命令复制了公钥。
我能够从 Arch 机器成功登录到 Ubuntu 机器。
[raja@archserver ~]$ ssh [email protected]
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-57-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
0 packages can be updated.
0 updates are security updates.
Last login: Tue Jan 10 16:30:51 2017 from 192.168.106.1
sniper@openstackm1:~$
但我无法通过基于密钥的身份验证从 Arch 机器登录到 Ubuntu 机器,当我尝试时,我收到密码提示。我没有对两个 sshd_config 文件进行任何修改,但 Ubuntu 接受,但 Arch 不接受。
sniper@openstackm1:~$ ssh jboss@archserver
jboss@archserver's password:
请帮忙。
答案1
OpenSSH 不再太喜欢 DSA,并开始默认禁用它。如果您没有生成其他类型密钥的选项(rsa 可能有效),您可以添加+ssh-dss
您的ssh_config
以允许它。