如果这个问题不够复杂,我很抱歉,我对 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