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 就成功了!