SSH无法连接服务器
服务器版本如下:
@kelWEB4:/etc# lsb_release -a LSB Version: :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Distributor ID: RedHatEnterpriseServer Description: Red Hat Enterprise Linux Server release 6.2 (Santiago) Release: 6.2 Codename: Santiago
服务器内核如下:
@kelWEB4:/etc# uname -a Linux kelWEB4 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
1 ssh无法连接服务器
1.1查看日志message
vi /var/log/messages 在日志里可以看到内容如下:
May 18 03:40:20 kelWEB4 sshd[18527]: error: This private key will be ignored. May 18 03:40:20 kelWEB4 sshd[18527]: error: bad permissions: ignore key: /etc/ssh/ssh_host_rsa_key May 18 03:40:20 kelWEB4 sshd[18527]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key May 18 03:40:20 kelWEB4 sshd[18527]: error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ May 18 03:40:20 kelWEB4 sshd[18527]: error: @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ May 18 03:40:20 kelWEB4 sshd[18527]: error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ May 18 03:40:20 kelWEB4 sshd[18527]: error: Permissions 0644 for '/etc/ssh/ssh_host_dsa_key' are too open. May 18 03:40:20 kelWEB4 sshd[18527]: error: It is recommended that your private key files are NOT accessible by others
1.2解决方法
从日志中可以看到是相关的权限有问题,从而查看ssh的配置文件的相关权限:
正确的权限设置如下:
Ssh的配置文件目录在/etc/ssh/目录下
@kelWEB4:/etc/ssh# ll total 164 -rw-------. 1 root root 125811 Sep 7 2011 moduli -rw-r--r--. 1 root root 2047 Sep 7 2011 ssh_config -rw------- 1 root root 3890 Dec 7 2012 sshd_config -rw-r--r-- 1 root root 3871 Dec 7 2012 sshd_config.20121207 -rw-------. 1 root root 672 Jul 21 2012 ssh_host_dsa_key -rw-r--r--. 1 root root 590 Jul 21 2012 ssh_host_dsa_key.pub -rw-------. 1 root root 963 Jul 21 2012 ssh_host_key -rw-r--r--. 1 root root 627 Jul 21 2012 ssh_host_key.pub -rw-------. 1 root root 1675 Jul 21 2012 ssh_host_rsa_key -rw-r--r--. 1 root root 382 Jul 21 2012 ssh_host_rsa_key.pub @kelWEB4:/etc/ssh# ll -d /etc/ssh drwxr-xr-x. 2 root root 4096 Dec 7 2012 /etc/ssh
大部分的权限为0600,如果此处权限设置错误,那么会导致ssh无法连接到服务器中
2 用户不能使用su来进行切换用户
2.1 查看日志secure
日志存放的为/var/log/secure,查看内容报错如下:
May 12 17:28:47 kelWEB4 su: PAM (su-l) illegal module type: minlen=8 May 12 17:28:47 kelWEB4 su: PAM pam_parse: expecting return value; [...minclass=2] May 12 17:28:47 kelWEB4 su: PAM (su-l) no module name supplied May 12 17:28:47 kelWEB4 su: PAM (su-l) illegal module type: minlen=8 May 12 17:28:47 kelWEB4 su: PAM pam_parse: expecting return value; [...minclass=2] May 12 17:28:47 kelWEB4 su: PAM (su-l) no module name supplied May 12 17:28:47 kelWEB4 su: PAM (su-l) illegal module type: minlen=8 May 12 17:28:47 kelWEB4 su: PAM pam_parse: expecting return value; [...minclass=2] May 12 17:28:47 kelWEB4 su: PAM (su-l) no module name supplied May 12 17:28:47 kelWEB4 su: PAM (su-l) illegal module type: minlen=8 May 12 17:28:47 kelWEB4 su: PAM pam_parse: expecting return value; [...minclass=2] May 12 17:28:47 kelWEB4 su: PAM (su-l) no module name supplied
2.2 解决方法
查看配置文件中包含此关键字的文件,使用命令如下:
@kelWEB4:/etc# find ./* -name \* -type f -print|xargs grep "minlen" ./pam.d/system-auth-ac:password requisite pam_cracklib.so try_first_pass retry=3 type= minlen=8 minclass=2
可以发现文件为
@kelWEB4:/etc# ll -d /etc/pam.d/system-auth-ac -rw-r--r-- 1 root root 958 May 23 11:41 /etc/pam.d/system-auth-ac
查看里面的配置,看此行是否存在换行的错误,如果存在换行,那么将必然报错,此服务器报错,是因为在type后进行了换行,从而导致了错误的发生。
3、 可能的报错
Ø 在非同网段远程连接的时候,显示是可以登录,但是Connection closed by foreignhost
Ø 在同网段远程连接的时候,显示connection reset bypeer
Ø 还有看到错误could not open session
Ø 注意检查是否开启22端口,使用
for linux and python