我试图从我的LAN上的我的MacBook(客户端)连接到我的iMac(服务器)。 两者都有Mac OS X 10.6.4。 运行在新安装的操作系统上的服务器。 当在System Preferences激活Remote Login ,一切正常。 但是当设置ssh只能使用公钥/私钥时,我从服务器日志中得到以下错误消息,具体取决于是否使用rsa密码短语:
使用密码短语(情况1):
PAM: user account has expired for <myServerUserName> from 192.168.XX via 192.168.XY
没有密码(情况2):
Failed publickey for <myServerUserName> from 192.168.XX port AAAAA ssh2
这是我的设置algorithm:
ssh-keygen -t rsa在客户端上创build私钥和公钥。 在情况1中,我还设置了密码。 id_rsa.pub移到服务器path/Users/<myServerUserName>/.ssh/ cat id_rsa.pub > authorized_keys Remote Login没有激活,我现在在服务器上执行sudo /usr/sbin/sshd -d 。 ssh -v -v -v <myServerUserName>@192.168.XY并提示接受RSA密钥指纹。 这与我创build私钥/公钥时的指纹不同(应该是?)。 我接受。 permission denied 。 回到服务器上,我可以阅读上面的情况1所述的错误消息: PAM: user account has expired... Connection closed by 192.168.XY 。 回到服务器上,我可以阅读上面提到的情况2的错误消息: Failed publickey... 什么可能导致这个?
只是一些提示,我不得不在MacOSX上设置身份文件(rsa私钥/公钥)作为文件名标识和identity.pub。 我很确定这是默认名称。
您可以在使用ssh命令时指定文件名,在您的情况下使用'ssh -i /home/username/.ssh/id_rsa user @ host',这应该始终有效。 这是确定默认文件名是否是问题的最好方法。