由于Linux系统遭意外破坏,恢复后不能telnet,只要客户端一连接Linux服务器就返回"telnetd: all network ports in use"的字符串,SSH连接也失效! 一开始怀疑是端口被别的程序占用,但是用netstat -anp查看时发现23端口并没有被使用.那是什么原因呢? 查看/var/log/secure文件发现了一些有用信息,如下:

[root@localhost ~]# cat /var/log/secure

........ Aug 20 18:12:05 localhost sshd[15243]: Accepted password for hyg from ::ffff:192.168.1.217 port 3980 ssh2 

Aug 20 18:12:11 localhost sshd[15243]: error: openpty: No such file or directory Aug 20 18:12:11 localhost sshd[15348]: error: session_pty_req: session 0 alloc failed 

看来是在虚拟终端的问题上出问题了,查看mount, 发现pts文件系统没有mount上去. 一般这个文件系统是系统自动mount上去的, 打开/etc/fstab文件看,果然只有这么几行:

/dev/mapper/VolGroup00-LogVol00 / ext3 rw 0 0
/dev/proc /proc proc rw 0 0

/dev/fd0 /media/floppy auto pamconsole,exec,noauto,managed 0 0
/dev/hdc /media/cdrom1 auto pamconsole,exec,noauto,managed 0 0

这是系统自动恢复的时候自动创建的,并没有加载pts文件系统,还有其它一些系统也没有挂载上。参考正常的系统的fstab文件,修改成如下:

/dev/mapper/VolGroup00-LogVol00 / ext3 rw 0 0
LABEL=/boot /boot ext3 defaults 1 2
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0

/dev/fd0 /media/floppy auto pamconsole,exec,noauto,managed 0 0
/dev/hdc /media/cdrom auto pamconsole,exec,noauto,managed 0 0

reboot以后,一切正常!