我在 OS X (10.8.3) 上运行 OpenSSH 的 sshd 实例,但它不接受有效的用户密码。它只是回应,“权限被拒绝,请再试一次。” 我正在 ssh'ing 到本地主机。如果我将我的公钥添加到 .ssh/authorized_keys,我可以毫无问题地连接。
我假设 OS X 正在阻止应用程序访问 OS X 的身份验证系统(即 /etc/shadow?),因此尝试在 sudo 下运行 sshd,但遇到了 sshd 在客户端连接时立即崩溃并出现此错误的问题服务器(见下面的更新 2):
ssh_sandbox_child: ssandbox_init: dlopen(/usr/lib/libsandbox.1.dylib, 261): image not found [preauth]
对这些问题的任何帮助表示赞赏。
以防万一:我不想在 OS X 上替换我现有的 sshd 服务,而只是想为我正在测试的东西并行运行这个服务。
更新:我忘了提到,同样的代码和配置在 Ubuntu 12.10 系统上编译和运行都非常好。在 linux 机器上,我没有在 sudo 下运行。
更新 2:我通过设置我的 sshd_config 解决了服务器在 sudo 下运行的问题UsePrivilegeSeparation yes
,但仍然不接受密码。