我最近设置了一台服务器,并且在服务器上设置了RSAauthentication。 我的问题是,如何为不同的用户设置RSA身份validation? 截至目前,唯一拥有RSAauthentication的用户是root用户,我宁愿不要这样做。 我已经尝试将我的RSA密钥添加到/home/username/.ssh/authorized_keys并重新启动SSHD,但仍然无法使用该用户名login。 有人有主意吗?
Damnit,Jim,我是一名开发人员而不是服务器pipe理员。
我假设你通过把密钥放在/root/.ssh/authorized_keys中来设置root? 出现权限问题导致用户忽略authorized_keys的情况并不罕见。
validation〜/ .ssh /是700,并确认〜/ .ssh / authorized_keys是用户所有的,600:
$ cd ~/.ssh/; ls -ld drwx------ 2 somedude somegroup 4096 Aug 21 21:09 . $ ls -l authorized_keys total 52 -rw------- 1 somedude somegroup 4324 Oct 14 2010 authorized_keys
如果这一切看起来不错,但仍然不起作用,请将/ etc / ssh / sshd_config中的LogLevel更改为DEBUG3,然后重新启动sshd:
# grep LogLev /etc/ssh/sshd_config LogLevel DEBUG3 # /etc/init.d/sshd restart
现在尝试和ssh到你的盒子。 你应该得到syslog输出,希望能指出你的问题。 如果在任何日志中看到debugging输出时遇到问题,请尝试停止sshd并在命令行上运行它:
# /etc/init.d/sshd stop; sshd -d
(在这里要小心,sshd在第一次连接debugging后会死掉,所以很快重启,否则ssh会在你的机器上…)
如果不清楚是什么问题仍然是debugging输出以及输出ssh -v username @ server到问题。