1. 首先判断当前主机中是否有安装telnet相关软件包。
# rpm -qa | grep telnet
#
发现没有安装。
2.不存在则安装相关软件包。
在当前主机上配置安装telnet服务需要安装telnet-server软件包,如果需要安装客户端则需要安装telnet软件包,为了方便,这里使用yum安装。 yum install telnet-server
yum install telet
安装完成之后再确认一下看是否安装成功: # rpm -aq | grep telnet
telnet-0.17-48.el6.i686
telnet-server-0.17-48.el6.i686
可以看到安装完成。
也可以使用光盘之中的rpm包来安装,如下:
# cd /mnt/
# mkdir cdrom
# mount /dev/sr0 /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
# cd cdrom/
# rpm -ivh telnet-server-0.17-46.el6.i686.rpm
# rpm -ivh telnet-0.17-46.el6.i686.rpm
3. 安装完成之后就可以开启telnet服务了:
使用如下命令开启telnet服务:
# service xinetd start
Starting xinetd: [ OK ]
#
再检查看是否允许:
# netstat -tpa | grep telnet
#
检查发现没有telnet-server没有运行。实际上还需要更改配置文件/etc/xinetd.d/telnet。将其中disable=yes改为disable=no。即改为如下:
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = yes
# disable = no
}
此时再重启xinetd服务,如下:
# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
再次检查telnet-server是否运行:
# netstat -tpa
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:42114 *:* LISTEN 1084/rpc.statd
tcp 0 0 *:sunrpc *:* LISTEN 1019/rpcbind
tcp 0 0 *:ssh *:* LISTEN 2956/sshd
tcp 0 0 localhost.localdomain:ipp *:* LISTEN 1138/cupsd
tcp 0 0 localhost.localdomain:smtp *:* LISTEN 1376/master
tcp 0 0 192.168.41.5:40046 123.58.182.252:http ESTABLISHED 2187/firefox
tcp 1 1 192.168.41.5:42692 123.58.182.252:http LAST_ACK -
tcp 0 0 192.168.41.5:telnet 192.168.41.1:51058 ESTABLISHED 4749/in.telnetd: 19
tcp 0 0 localhost.localdomai:telnet localhost.localdomain:41838 ESTABLISHED 4717/in.telnetd: lo
tcp 0 0 192.168.41.5:46141 209.107.203.25:http ESTABLISHED 1857/clock-applet
tcp 0 0 localhost.localdomain:41838 localhost.localdomai:telnet ESTABLISHED 4716/telnet
tcp 0 0 *:sunrpc *:* LISTEN 1019/rpcbind
tcp 0 0 *:46514 *:* LISTEN 1084/rpc.statd
tcp 0 0 *:ssh *:* LISTEN 2956/sshd
tcp 0 0 *:telnet *:* LISTEN 4649/xinetd
tcp 0 0 localhost6.localdomain6:ipp *:* LISTEN 1138/cupsd
发现telnet-server已运行。
4. 测试telnet服务。
# telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
CentOS Linux release 6.0 (Final)
Kernel 2.6.32-71.el6.i686 on an i686
login: root
Password:
Login incorrect
login: no_root_user_name
Password:
Last login: Wed Jan 28 00:16:01 from 192.168.41.1
发现无法使用root用户登录,但可以使用其他普通用户登录。
使用远程登录时无法登陆请检查防火墙是否打开。使用如下命令可以打开和关闭防火墙:
# service iptables start
# service iptables stop
5. 使用root登录
telnet 默认的情况之下不允许 root 以 telnet 进入 Linux 主机,在普通用户telnet进入系统之后,在切换到root用户就可以使用root用户了。如果非要使用root登录,可以使用
修改securetty文件
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
# below is added
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
pts/7
pts/8
pts/9
pts/10
pts/11
增加
pts/1...pts/11。
一般不建议直接用root用户远程通过telnet登陆系统,因为telnet在数据传输过程采用明文方式,如果数据包被人截获,将会很容易获取root用户的登陆口令;还是建议以普通用户通过telnet远程登陆,然后su到root,这样相对比较安全。如果非要用root用户远程连接,建议采用SSH。
6. 修改telnet端口
修改文件/etc/services将文件中
...
telnet 23/tcp
telnet 23/udp
...
修改为
telnet 8902/tcp
telnet 8902/udp
重启telnet服务即可。
测试登录如下:
# telnet 192.168.41.5
Trying 192.168.41.5...
telnet: connect to address 192.168.41.5: Connection refused
#
# telnet 192.168.41.5 8902
Trying 192.168.41.5...
Connected to 192.168.41.5.
Escape character is '^]'.
CentOS Linux release 6.0 (Final)
Kernel 2.6.32-71.el6.i