SSH 复制 ID 失败

SSH 复制 ID 失败

错误应该在哪里?本地电脑是Ubuntu。

命令:

ssh-copy-id [email protected]

结果:

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 
exec request failed on channel 0

答案1

注意:这篇文章是对 OP 原始答案的澄清,试图使其更清楚(至少对我而言)。

看起来服务器正在运行 SSH v2 而不是 OpenSSH,这是 SSH 公钥的格式。

由于此问题,服务器无法以对所有人都有意义的方式实际处理读取和协商公钥。本质上,这就像输入密码时输入英文,而服务器原本希望输入希腊文。

因此,为了解决这个问题,我们需要将 OpenSSH 密钥转换为 SSHv2(也称为 RFC4716)密钥。OpenSSH 提供了一个命令来执行此操作:

ssh-keygen -e -f /path/to/openssh/public/key > /path/you/want/the/rfc4716/key

运行此程序,获取输出并将其上传到服务器(如果密钥尚未在服务器端转换)。

答案2

在服务器上将 SSH 更改为 SSH2。这是原因。通过转换密钥解决了这个问题。

相关内容