![“主机密钥验证失败”,SSH 仅在以 root 用户身份登录时工作](https://linux22.com/image/202737/%E2%80%9C%E4%B8%BB%E6%9C%BA%E5%AF%86%E9%92%A5%E9%AA%8C%E8%AF%81%E5%A4%B1%E8%B4%A5%E2%80%9D%EF%BC%8CSSH%20%E4%BB%85%E5%9C%A8%E4%BB%A5%20root%20%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E7%99%BB%E5%BD%95%E6%97%B6%E5%B7%A5%E4%BD%9C.png)
我正在尝试从网络上的一台机器到另一台机器进行 ssh/scp。问题是,当我执行 ssh/scp 命令 (ssh user@ip_machine_2) 时,只有当我登录到 machine_1 上的 root 帐户时,它才“工作”。当以 root 身份发送此命令时,系统会提示我输入 machine_2 上的用户密码,然后我就可以毫无问题地访问该帐户/传输文件。
如果我登录 machine_1 上的用户帐户并重复该命令,我现在收到错误:“主机密钥验证失败。”
有谁知道在未登录 root 帐户时可能导致此问题的原因吗?我检查了 ssh 和 scp 的权限,它们看起来都很好,因此我认为用户帐户可能缺少网络堆栈中关键内容的某些权限,以便 ssh 在此帐户下工作。
答案1
所以对我来说,问题最终是 /dev/tty 的权限在 root 下设置为 0664。将权限更改为 0666 解决了该问题。