![使用 SSH 密钥对进行无密码身份验证](https://linux22.com/image/156910/%E4%BD%BF%E7%94%A8%20SSH%20%E5%AF%86%E9%92%A5%E5%AF%B9%E8%BF%9B%E8%A1%8C%E6%97%A0%E5%AF%86%E7%A0%81%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81.png)
如果这个问题不够复杂,我很抱歉,我对 Gnu/Linux 有点陌生。我在 Azure 中有 4 个虚拟机,全部运行 CentOS,其中 1 个主虚拟机和 3 个工作虚拟机。
我使用 ssh-keygen 和 ssh-copy-id 命令在这些之间设置了无密码身份验证,并将主机名和相应的 IP 地址添加到文件中/etc/hosts
。一切正常。但是,如果我不是从我的工作笔记本电脑而是从我的家用计算机(使用腻子)登录主服务器,使用同一用户我就不能再这样做了ssh worker1
,我的权限被拒绝(public_key),我不明白为什么会这样,因为这是在主机之间设置的,为什么我从哪里登录很重要。谁能解释一下吗?
答案1
您可能向工作机器上传了错误的公钥。检查工作节点上的文件并确保它与主节点上的~/.ssh/authorized_keys
公钥(可能)匹配。~/.ssh/id_rsa.pub