通过串口无法登录CentOS的问题
安装了一个CentOS v5.5的Linux,通过ssh可以成功的login,一切正常,但是无法通过serail console(串口)login(使用的是root帐户,inittab已经做了正确的修改,添加了serial console)。 每次都在输入password之后显示:
login incorrect
试过,进入single模式修改root密码。仍然是同样的错误信息。
通过ssh login之后,查看了一下它的log,发现/var/log/secure 里面记录了如下的错误信息:
- Nov 15 13:27:52 localhost login: pam_unix(login:auth): check pass; user unknown
-
Nov 15 13:27:52 localhost login: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=ttyS0 ruser= rhost=
-
Nov 15 13:27:52 localhost login: pam_succeed_if(login:auth): error retrieving information about user AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
-
Nov 15 13:27:53 localhost login: FAILED LOGIN 1 FROM (null) FOR AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0, User not known to the underlying authentication module
-
Nov 15 13:28:05 localhost login: pam_unix(login:auth): check pass; user unknown
-
Nov 15 13:28:05 localhost login: pam_unix(login:auth): authenticatio, User not known to the underlying authentication modulehost=
-
Nov 15 13:28:11 localhost login: pam_securetty(login:auth): access denied: tty 'ttyS0' is not secure !
-
Nov 15 13:28:15 localhost login: FAILED LOGIN 3 FROM (null) FOR root, Authentication failure
-
Nov 15 13:28:18 localhost login: pam_unix(login:auth): bad username []
-
Nov 15 13:28:18 localhost login: pam_succeed_if(login:auth): error retrieving information about user
-
Nov 15 13:28:18 localhost login: FAILED LOGIN SESSION FROM (null) FOR , User not known to the underlying authentication module
-
-
Nov 15 13:28:28 localhost sshd[9488]: Accepted password for root from 1.30.0.1 port 56565 ssh2
-
Nov 15 13:28:28 localhost sshd[9488]: pam_unix(sshd:session): session opened for user root by (uid=0)
-
Nov 15 13:28:46 localhost sshd[9488]: pam_unix(sshd:session): session closed for user root
其中有一句是:
- Nov 15 13:28:11 localhost login: pam_securetty(login:auth): access denied: tty 'ttyS0' is not secure !
在网上搜索了一下,发现可能是因为使用了root用户,无法从ttyS0(serial console)登录,检查了一下 /etc/securetty,发现里面果然没有 ttyS0:
- console
-
vc/1
-
vc/2
-
vc/3
-
vc/4
-
vc/5
-
vc/6
-
vc/7
-
vc/8
-
vc/9
-
vc/10
-
vc/11
-
tty1
-
tty2
-
tty3
-
tty4
-
tty5
-
tty6
-
tty7
-
tty8
-
tty9
-
tty10
-
tty11
“/etc/securetty”文件里面记录了允许“root”用户可以从哪些TTY设备登录。修改了一下该文件,添加ttyS0。测试OK,可以用serial console登录了。
问题解决了,但是,有一点没弄明白,以前,这样安装系统,是可以从 serial console 登录的,这次为什么不行?仔细对比了一下,这次安装系统,有一点不一样。在安装完系统,第一次成功启动后(通过keyboard登录),禁用了一个service:kudzu。然后,就拿掉keyboard和VGA,从serial console登录,发现了无法登录。难道是这个service的问题。
做了一些实验,发现果然是kudzu service在第一次用serial console登录时,会将使用的serial console:ttyS0 加到 /etc/securetty 文件中。
再从网上down了kudzu的源代码,也在里面发现了修改securetty文件的代码。所以这个service还不能随便disable。
阅读(13789) | 评论(0) | 转发(0) |