从串口登录Linux主机

整机外设

  如果你使用过Cisco公司的IOS来配置Cisco的交换机或路由器,那么你一定不会对“超级终端”这个东西感到陌生。不过我今天不是教你用它来配置交换机或路由器,而是用它来管理一台Linux主机。

  很多重要的服务器都没有输出或输入设备,就算有,也只是安装系统时使用,一旦投入运行就不再使用显示器和键盘了。管理员大都通过网络远程登录来管理系统,如telnet、ssh、rlogin等,在Linux和UNIX下,还可以使用webmin通过Web方式管理。但很不幸它们都是基于网络的,如果服务器的网络瘫痪了,你正好需要解决网络的问题,那该怎么做?其实Linux也支持通过COM口来登录进行系统管理。

  首先确认你的Linux系统中有/sbin/agetty,然后编辑/etc/inittab,添加“7:2345:respawn:/sbin/agetty/dev/ttyS0 9600” 这一行,9600代表9600bps,因为连接路由器缺省一般都是这种速率,也可以设成19200、38400、57600、115200。

  再修改/etc/securetty,添加一行ttyS0,确保root用户能登录。

  重启机器,就可以用你的笔记本电脑通过NULL Modem Cable(最好是有Cisco的标准console线加RJ45转9针D型母接头的转接头,可以直接使用)连接到Linux主机的COM口,再打开超级终端,选择从COM1口登录,COM1的端口属性选择“还原默认值”,然后选“确定”,敲几下回车看看,是不是系统已经在提示你输入用户名了?

  如果服务器长时间开着的话,最好每次都使用exit退出该终端,因为如果不退出来的话,下次再登录可能会出现输入乱码而导致终端不可用等问题。假如你的ttyS0出现乱码没有办法使用的话,可以尝试从网络登录,把/etc/inittab中ttyS0那一行注释,使用“init q”命令停止通过inittab启动agetty,然后再重新取消/etc/inittab中的注释,再次使用“init q”命令启动agetty,不出意外就能恢复正常了。