使用公钥/私钥通过 SSH 连接到 iMac 失败

使用公钥/私钥通过 SSH 连接到 iMac 失败

我正在尝试从 LAN 上的 MacBook(客户端)连接到 iMac(服务器)。两者都有 Mac OS X 10.6.4。服务器运行的是全新安装的操作系统。激活后Remote Login一切System Preferences正常。但是,当将 ssh 设置为仅使用公钥/私钥时,我会从服务器日志中收到以下错误消息,具体取决于我是否使用 rsa 密码:

  • 使用密码(情况 1):

    PAM: user account has expired for <myServerUserName> from 192.168.X.X via 192.168.X.Y

  • 没有密码(情况 2):

    Failed publickey for <myServerUserName> from 192.168.X.X port AAAAA ssh2

这是我的设置算法:

  • 使用命令在客户端上创建私钥和公钥ssh-keygen -t rsa。在案例 1 中,我还设置了密码。
  • 移动id_rsa.pub到服务器路径/Users/<myServerUserName>/.ssh/
  • 在此文件夹中我执行cat id_rsa.pub > authorized_keys
  • 确保Remote Login没有处于活动状态后,我现在sudo /usr/sbin/sshd -d在服务器上执行。
  • 回到客户端,我现在输入ssh -v -v -v <myServerUserName>@192.168.X.Y并提示接受 RSA 密钥指纹。这与我创建私钥/公钥时的指纹不同(应该是吗?)。我接受。
  • 视具体情况而定:
    • 案例 1:客户端因输入密码而暂停,即使输入了正确的密码,响应permission denied也是如此。回到服务器上,我可以看到上面针对案例 1 所述的错误消息:PAM: user account has expired...
    • 案例 2:客户端收到消息Connection closed by 192.168.X.Y。回到服务器上,我可以看到上面针对案例 2 所述的错误消息:Failed publickey...

这可能是什么原因造成的?

答案1

仅提供一些提示,我必须在 MacOSX 上将身份文件 (rsa 私钥/公钥) 设置为文件名identity和identity.pub。我非常确定这是默认名称。

您可以在使用 ssh 命令时指定文件名,方法是使用“ssh -i /home/username/.ssh/id_rsa user@host”,这种方法应该总是有效的。这是确定默认文件名是否是问题的最佳方法。

相关内容