如何使用 clusterssh 通过 sshpublickey 登录 vps?
如果我使用 2 个 vps 和密码命令
clusterssh username@ip username@ip
那么如何使用公钥?
我使用 ubuntu 16.04
谢谢
答案1
问题:公钥不在默认位置(来自评论)
公钥存储在Downloads
每个服务器的文件夹中。这不是存储授权密钥的默认位置。因此,OP 需要使用以下-i
选项指定密钥位置:ssh
ssh -i /path/to/key username@ip
这不适用于clusterssh
。
解决方案:
步骤 1:将授权密钥存储在默认位置
有一个命令,是的一部分ssh
,用于将公钥传输到远程服务器的正确位置。
ssh-copy-id username@ip
您必须对每台服务器执行一次此操作。为此,您需要具备:
#PasswordAuthentication 是
在文件中:/etc/ssh/sshd_config
针对每个服务器,以便您可以ssh
使用他们的密码进入这些服务器。
第 2 步:从“错误”文件夹中删除公钥
一旦公钥被复制到正确的位置,请将其从Downloads
服务器的文件夹中删除。
第 3 步:确认其有效
现在您应该能够使用ssh
以下命令使用基于密钥的身份验证:
shh username@ip
一旦确认其有效,请确认相应的clustershh
命令有效:
clusterssh username@ip username@ip
当一切正常时,转到下一步。
步骤 4:禁用密码验证
在每个服务器中编辑/etc/ssh/sshd_config
并更改行:
#PasswordAuthentication yes
读这行:
PasswordAuthentication no
参考:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2
https://help.ubuntu.com/community/SSH/OpenSSH/Keys
希望这可以帮助