simon_cheng
作者simon_cheng·2010-10-28 16:03
系统运维工程师·颀中科技(苏州)有限公司

在Redhat5中开通Root远程登录详解(Telnet)

字数 12096阅读 2516评论 0赞 0

Redhat 开通 Root 远程登录详解
目录:
一、telnet基础知识
二、telnet服务安装
三、telnet服务检测
四、telnet服务调试
五、telnet开启root
六、telnet服务启动
七、telnet服务测试
八、telnet端口更改
九、telnet服务限制
十、配置文件krb5-telnet
十一、配置文件ekrb5-telnet
十二、telnet登陆错误解析
 
编者话:通过无数次的重新安装linux,每次都要开通telnet,尤其没有默认安装telnet组件的时候。当然这个文档比较适合初学者,比如我。同时此文档仅能抛砖引玉,对于其他的linux系统如Ubuntu等还是有一些区别。
各位在使用中加以考量,鄙人在逐渐学习linux的过程中,不断的体会到每个文件与系统的整合,思考他们运作的方式。一直在寻找这样一本能够直观的如神经脉络一样谱写出linxu系统的书籍。不断寻找中,理解才是永恒。

--------------------------------------------------------------------------------

 
一、telnet基础知识

telnet:提供telnet服务,使用未加密的用户/密码组进行验证,依附于xinetd服务。文件位于/etc/xinetd.d/telnet。

krb5-telnet:提供telnet服务,允许普通的telnet登陆,默认是不允许root用户登录,使用kerberos5验证 ,依附于xinetd服务。文件位于/etc/xinetd.d/krb5-telnet。
 
ekrb5-telnet:提供加密的telnet服务,但是必须要ekrb5的加密服务器。文件位于/etc/xinetd.d/ekrb5-telnet。
 
xinetd:因特网操作服务程序。提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全,监控网络对各种它管理的服务的需求,并在要的时候启动相应的服务程序。文件位于/etc/xinetd.d中
 
二、telnet服务安装

1、查看telnet rpm包
[root@rhel52 /]# rpm -qa | grep telnet
telnet-0.17-38.el5             
telnet-server-0.17-38.el5       《=RHEL5CD#4
[root@rhel52 /]# 

 

 
2、安装telnet server rpm包
[root@rhel52 work]# rpm -ivh telnet-server-0.17-38.el5.i386.rpm
warning: telnet-server-0.17-38.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
        package telnet-server-0.17-38.el5 is already installed
[root@rhel52 work]# 

 

注:安装完毕以后会在/etc/xinetd.d/中出现一个telnet配置文件
 
三、telnet服务检测

1、查看telnet服务
[root@rhel52 /]# chkconfig --list | grep telnet
        ekrb5-telnet:     off
        krb5-telnet:      off
        telnet:           off
[root@rhel52 /]#

 

 
2、开启telnet服务
[root@rhel52 /]# chkconfig telnet on

 

也可以用[root@rhel52 /]# ntsysv开启
 
3、设置自动启动
[root@rhel52 /]# chkconfig --level 35 telnet on
[root@rhel52 /]# chkconfig --list | grep telnet
        ekrb5-telnet:     off
        krb5-telnet:      off
        telnet:           on
[root@rhel52 /]#

 


四、telnet服务调试

1、配置telnet文件
[root@rhel52 /]# vim /etc/xinetd.d/telnet

# default: on
# description: The telnet server serves telnet sessions; it uses
#       unencrypted username/password pairs for authentication.
service telnet
{
        disable = no    《=确认是no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
}
 

2、注意/etc/xinetd.d/ekrb5-telnet 和 krb5-telnet两个文件中的disable,稍后说明其作用。

五、telnet开启root

1、确认/etc/pam.d/login中的pam_securetty.so行,并将其注释掉"#"
[root@rhel52 /]# vim /etc/pam.d/login

#%PAM-1.0
#auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    include      system-auth
session    required     pam_loginuid.so
session    optional     pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the
user context
session    required     pam_selinux.so open
session    optional     pam_keyinit.so force revoke
 

 
2、开通telnet控制台,在/etc/securetty文件中设定
[root@rhel52 /]# vim /etc/securetty
console
vc/1
vc/2
vc/3
tty1
tty2
tty3
tty4
tty5
...
pts/1
pts/2
pts/3
pts/4
pts/5

 

在文件后面追加"pts/1....pts/n"
 
六、telnet服务启动

因为telnet服务是由xinetd调用,所以只要重新启动xinetd即可
[root@rhel52 /]# service xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]
[root@rhel52 /]# 

 

 
 
七、telnet服务测试

 
Microsoft Windows [版本 6.1.7100]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:>telnet 192.168.238.220
正在连接192.168.238.220...
Red Hat Enterprise Linux Server release 5 (Tikanga)
Kernel 2.6.18-8.el5 on an i686
login: root
Password:
Last login: Sat Aug  1 22:47:15 from 192.168.238.1
[root@rhel52 ~]#
 


八、telnet端口更改

设定配置文件/etc/services
[root@CentOS5 /]#vi /etc/services
找到下面的两行:
telnet          23/tcp
telnet          23/udp
 

 
九、telnet服务限制

设定配置文件/etc/xinetd.d/telnet
[root@rhel52 /]# vim /etc/xinetd.d/telnet

        access_time     = 20:00-24:00
# default: on
# description: The telnet server serves telnet sessions; it uses
#       unencrypted username/password pairs for authentication.
service telnet
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
        only_from       = 192.168.0.0/16
}
#bind           = 192.168.0.100
#only_from      = 192.168.0.0/24
#no_access      = 192.168.0.{80,90}
#access_times   = 8:00-9:00 20:00-23:00
 


十、配置文件krb5-telnet

文件所在位置 /etc/xinetd.d/krb5-telnet
其实rhel5已经装了krb5-telnet,那么就可以启用这个服务来达到开启telnet的目的。不用再安装telnet-server这个软件包了。可以使用Kerberos 5来进行认证。

1、开启krb5-telnet服务。
[root@rhel52 /]# vim /etc/xinetd.d/krb5-telnet
将“disable = yes”  改为“disable = no”

 

2、启动服务
[root@rhel52 /]# service xinetd restart

 

 
十一、配置文件ekrb5-telnet

文件所在位置 /etc/xinetd.d/ekrb5-telnet
ekrb5- telnet可以用来提供加密的telnet服务。如果启用了ekrb5-telnet服务,但是又没有Kerberos服务器的话,那么在进行 telnet登录时,总是会报“Unencrypted connection refused. Goodbye.(未加密的连接,拒绝服务)”这个错误。
1、开启ekrb5-telnet服务。

[root@rhel52 /]# vim /etc/xinetd.d/ekrb5-telnet
将“disable = yes”  改为“disable = no”

 

2、启动服务

[root@rhel52 /]# vim service xinetd restart

 

注:使用Kerberos 5来认证和加密telnet会话前,需要先搭建一个Kerberos服务器。
 

十二、telnet登陆错误解析

①错误信息:
Cannot resolve network address for KDC in requested realm while getting initial credentials

 

当出现如上信息时,请检查/etc/xinetd.d/krb5-telnet,并将“disable = no”改成yes
[root@rhel52 /]# vim /etc/xinetd.d/krb5-telnet
# default: off
# description: The kerberized telnet server accepts normal telnet sessions,
#              but can also use Kerberos 5 authentication.
service telnet
{        
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/kerberos/sbin/telnetd
        log_on_failure  += USERID
        disable         = no    <- no改成yes
}

 

 
 
②错误信息:
Unencrypted connection refused. Goodbye.
遗失对主机的连接。

 

 
当出现如上信息时,请检查/etc/xinetd.d/ekrb5-telnet,并将“disable = no”改成yes
[root@rhel52 /]# vim /etc/xinetd.d/ekrb5-telnet

# default: off
# description: The kerberized telnet server accepts only telnet sessions,
#              which use Kerberos 5 authentication and encryption.
service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/kerberos/sbin/telnetd
        server_args     = -e
        log_on_failure  += USERID
        disable         = no    <- no改成yes
}
 

 
 
③错误信息:
getnameinfo: localhost: Success
                               Temporary failure in name resolution: Illegal seek

 

 
当出现如上信息时,请检查/etc/hosts,并将客户端的地址和主机名写进去。
[root@rhel52 /]# vim /etc/hosts

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain   localhost       rhel52
#::1                    rhel52                  localhost6
192.168.238.220         rhel52
192.168.0.100           win-gk18e84nu08

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广