解决CentOS 5无法SSH远程访问

khxu 2010-12-01

机房里有一台CentOS5的服务器,大概是由于客户的误操作,无法SSH远程访问。接上显示器,通过终端进入到系统。

手工检查ssh发现没运行
[root@mgate ~]#/etc/init.d/sshd status
sshd is stopped

手工启动服务,报错。
[root@mgate ~]#/etc/init.d/sshd start
Starting sshd:/var/empty/sshd must be owned by root and not group or world-writable.
[FAILED]

上网查资料后,得知是报告权限错误,经查看发现这个目录的属主不是root,所以启动SSH报错
[root@mgate ~]# ls -ld /var/empty/sshd/
drwxr--r-- 3 vu0010root 4096 Nov 27 22:38 /var/empty/sshd/
[root@mgate ~]#

后来通过另一种方法修改权限后,
[root@mgate ~]#chown   -R  root /var/empty/sshd
[root@mgate ~]#chmod 744 /var/empty/sshd
虽然还是没任何提示,但这时启动SSH,可以成功运行了。
[root@mgate ~]#service sshd restart
Stop sshd: [ Fail ]
Starting sshd: [ OK ]

在Windows XP下运行软件SSH Secure Shell Client,可以正常登录该CentOS5服务器。问题总算解决了。其时已是三更。

在这期间,曾尝试着在系统上开通telnet远程服务,未果。今天上午在虚拟机上,用Red Hat5系统再调试telnet,终于成功了。以前都没接触过Linux下的telnet,这回的学习、调试的过程颇有收获

telnet服务,系统默认是安装了的,但不运行,需要手动配置telnet文件。在 /etc/xinetd.d/ 目录下查看到有三个telnet文件,分别是telnet,krb5-telnet,ekrb5-telnet(今早我Red Hat 5.4系统中,发现/etc/xinetd.d/只有krb5-telnet,ekrb5-telnet两个文件)。但当时我没注意krb5-telnet这个文件。

其中telnet文件是空的,krb5-telnet,ekrb5-telnet两文件的service telnet脚本是一样的。如下:
service telnet
{
        flags         = REUSE
        socket_type    = stream
        wait          = no
        user          = root
        server             = /usr/kerberos/sbin/telnet
        log_on_failure  += USERID
        disable       = yes
}

相关推荐