无需身份验证的 ssh-copy-id

无需身份验证的 ssh-copy-id

Linux 服务器如何允许任何人使用 ssh-copy-id 复制字符串(公钥)而无需身份验证?它不允许未知用户将任何恶意文件复制到服务器上吗?

答案1

ssh-copy-id只是自动执行命令

scp .ssh/id_rsa.pub user@other-host:
ssh user@other-host 'cat id_rsa.pub >> .ssh/authorized_keys'
ssh user@other-host 'rm id_rsa.pub'

也就是说:它将您的本地id_rsa.pub文件复制到另一台服务器并将其附加到远程用户的authorized_keys文件中。

这只是一个方便的脚本,它需要身份验证。您必须提供user的密码(在other-host)才能使其工作。除了和ssh-copy-id之外不执行任何其他操作scpssh 代表你所以如果他们需要密码验证,ssh-copy-id也会这样做。

答案2

如果他们不知道密码,他们就无法将 ID 复制到服务器,所以不要关闭密码认证。

Match User user1,user2,user3
    PasswordAuthentication yes

编辑

如果您允许无需身份验证即可登录,他们甚至不需要复制他们的密钥,因为如果他们知道用户名,他们就可以在没有密钥的情况下登录。

相关内容