如何实现以root身份telnet连接服务器

红帽推荐用户使用安全的ssh来远程登录服务器,而不要使用telnet,因为telnet连接服务器时,密码是以明文方式传输。因此默认root是不允许telnet直接登录服务器的。

本文假设你安装了 telnet-server 软件包,进行了正确的配置,监听了23端口。

希望强制允许root通过telnet连接服务器,可以修改/etc/pam.d/login,默认文件如下:

#%PAM-1.0
auth       required     pam_securetty.so
auth       required     pam_stack.so service=system-auth
auth       required     pam_nologin.so
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth
session    optional     pam_console.so

第一行控制root不允许telnet服务器,为了允许root通过telnet登录服务器,修改该文件如下:

#%PAM-1.0
#Commented out below line in order to allow root access for telnet
#auth       required     pam_securetty.so
auth       required     pam_stack.so service=system-auth
auth       required     pam_nologin.so
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth
session    optional     pam_console.so

修改完成以后,用户就可以以root身份登录服务器:

[root@jaws root]# telnet 10.0.0.15
Trying 10.0.0.15...
Connected to 10.0.0.15.
Escape character is '^]'.
Red Hat Enterprise Linux AS release 3 (Taroon Update 5)
Kernel 2.4.21-32.0.1.ELsmp on an i686
login: root
Password:
Last login: Sat Oct 22 11:58:56 from 10.0.0.25