Linux正常情况下普通用户是可以登陆SSH的,除非系统管理员作了修改,如果没有修改的情况无法登陆可以尝试以下方法解决:
步骤/方法
-
查看 /etc/ssh/sshd_config文件 发现 root用户可以直接登陆SSH 并未做限制,对于安全来说应该设置一下的。一般默认的 centos在建立好新用户之后就可以登陆SSH 可是我的却无法登陆。
-
无法登陆的原因: 发现sshd_config中是默认启用UsePam的。
-
解决方法:
找到/etc/security/access.conf 文件
发现 默认是-:ALL EXCEPT root :ALL
也就是说 不允许root以外的任何用户登陆
问题就好解决了 -
改成
-:ALL EXCEPT root yourusername:ALL
就可以 如果为了安全起见你也可以选择把root去掉 之留下你的用户名..但是建议还是先改成上列模式
END -
最后执行 source /etc/security/access.conf
注意事项
-
对于是服务器来说还是建议管理员禁止一些普通用户登陆SSH的权限,这样可以有效防止不必的安全隐患!
还有一种可能就是: root用户的目录下面已经配好了ssh,会对普通用户的ssh登录产生影响,把root用户的~/.ssh目录下面的id_rsa.pub id_rsa authroized_keys known_hosts 文件都删除,最好是rm -rf ~/.ssh, 再用普通用户的无密码登录,即可登录成功!!!
还有可能是: 用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容。(在Ubuntu12.04系统里面,貌似不用修改此文件)
1.RSAAuthentication yes #启用 RSA 认证 2.PubkeyAuthentication yes #启用公钥私钥配对认证方式 3.AuthorizedKeysFile /home/hadoop/.ssh/authorized_keys #公钥文件路径(和上面生成的文件同) |
最后source 此文件
在配置的过程中还遇到一种情况,就是master登录slave成功,但是slave登录不上master
我机器上面解决的方法是: 在master机器上面修改 chmod 700 ~/.ssh 在slave机器上面修改 chmod 700 ~/.ssh 就成功了!