1、基础知识:
Linux 提供服务是由运行在后台的守护程序(Daemon)来执行的。守护进程的工作就是打开1个端口(Port),等待(Listen)进入的连接。在C/S模式中,如果客户提请了1个连接,守护进程就创建(Fork)子进程来响应这个连接,而父进程继续监听其他服务的请求。但是,对于系统所提供的每1个服务,如果都必须运行1个监听某个端口连接发生的守护程序,那么通常意味着系统资源的浪费。为此,引入“扩展的网络守护进程服务程序”xinetd(Xinetd Internet Daemon)。Telnet服务也是由xinetd守护的。
2、开启步骤:
第一步:检查telnet、telnet-server的rpm包是否安装,如果没有则安装:
>>linux:~/Desktop # rpm -qa telnet
>>telnet-1.2-134.22
表示telnet包已经安装(一般情况下,relnet包会在安装系统时自动安装)
>>linux:~/Desktop # rpm -qa telnet-server
>>
表示没有安装,需要下载包telnet-server*.i386.rpm,进行安装
>>rpm -ivh telnet-server*.i386.rpm
第二步:修改telnet配置文件,修改telnet文件中disable的属性为no
>>linux:~/Desktop # vi /etc/xinetd.d//telnet
service telnet
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/in.telnetd
disable = no
}
第三步:重新启动xinetd守护进程:
>>linux:~/Desktop # service xinetd restart
第四步:设置开启启动telnet服务:
>>linux:~/Desktop # chkconfig telnet on
>>linux:~/Desktop # chkconfig xinetd on
结束
1. 检测SUSE的Telnet服务是否已安装:
nte143:~ # chkconfig -list | grep telnet
telnet: on
只要出现telnet,无论telnet后面的是on 还是off都说明telnet的服务已经安装。
更好的检测方法可以用:
nte143:~ # rpm -qa | grep telnet
telnet-1.2-14.4
telnet-server-1.2-14.4
一个是telnet客户端,一个是telnet服务端。
如果未安装telnet-server,则请在YaST中安装软件包(telnet-server在CD2中)。 或者在网上下载对应的telnet-server版本进行安装。我的系统对应安装如下:
nte143:~ # uname -a
Linux nte143 2.6.16.60-0.54.5-smp #1 SMP Fri Sep 4 01:28:03 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux
对应可用telnet服务包版本:telnet-server-1.2-14.4.i586.rpm
若是下载的rpm包进行安装,执行如下命令:
nte143:/opt # rpm -ivh telnet-server-1.2-14.4.i586.rpm
Preparing... ########################################### [100%]
(此提示表示安装成功)
2. 启动telnet服务:
telnet的服务在我配置的时候,都是通过xinetd服务启动和停止。
首先查看配置文件/etc/xinetd.d/telnet
service telnet
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/in.telnetd
disable = yes (为yes的时候,说明telnet服务不通过xinetd服务启动和停止;为no或者没有disable配置项目的时候,说明telnet服务通过xinetd服务启停)
}
(1)为yes的时候,说明telnet服务不通过xinetd服务启停
chkconfig -list | grep telnet 输出如下:
telnet: off
(2)为no或者没有disable配置项目的时候,说明telnet服务通过xinetd服务启停
chkconfig -list | grep telnet 输出如下:
telnet: on
telnet服务通过xinetd服务启停的意思是,xinetd服务启停的时候同时也会启停telnet服务。
重点是:
chkconfig -list | grep telnet 的输出和配置文件telnet中disable项的配置,并不是说明telnet服务的启停真实情况,仅仅是一个配置。
如果这个配置改动后,需要配置生效,需要重新启动xinetd服务:/etc/init.d/xinetd restart
因此启动telnet服务的步骤是:查看/etc/xinetd.d/telnet配置情况,再将该配置文件配置为telnet服务器通过xinetd服务启停的情况,在重新读取改动后的配置(重新启动xinetd服务)
3. 确认服务已启动:
这个用telnet localhost,再输入用户名、密码看是否可以登录的方法来确认。或者看telnet服务默认使用的23端口的状态来判断:
nte143:~ # netstat -an | grep 23
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN
4. 修改配置文件ftpusers,使root可以登入:
这个是控制ftp服务的,文件/etc/ftpusers中存在的用户名为禁止登录的用户名。但只针对ftp服务,不针对telnet服务器。
在使用telnet服务的时候,想要用root登录,有一个配置文件要关注
Vi /etc/pam.d/login
#%PAM-1.0
#auth required pam_securetty.so (此行注释之后可以登录,注释之前不行)
auth include common-auth
auth required pam_nologin.so
account include common-account
password include common-password
session include common-session
session required pam_lastlog.so nowtmp
session required pam_resmgr.so
session optional pam_mail.so standard
5. 设置telnet 服务开机自启动:
简单说就是确定xinetd服务开机自启动,并且telnet服务通过xinetd服务启停。
(1)确定xinetd服务开机自启动
chkconfig -list | grep xinetd
xinetd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
通过以上命令查询linux各启动方式下,xinetd服务器的启动方式(on:随着操作系统的启动而启动)。主要关注3,5
等级3表示:有网络连接的多用户命令行模式
等级5表示:带图形界面的多用户模式
可以通过以下命令设置
chkconfig --level 35 xinetd off
chkconfig --level 35 xinetd on
推荐阅读:
CentOS 6.3开启Telnet http://www.linuxidc.com/Linux/2013-05/84946.htm
RedHat 6.2安装Telnet服务 http://www.linuxidc.com/Linux/2013-04/82252.htm
SUSE Linux安装及启动Telnet http://www.linuxidc.com/Linux/2013-01/78007.htm
虚拟机RedHat通讯及开启Telnet登陆 http://www.linuxidc.com/Linux/2012-09/70483.htm
Linux下Telnet,openSSH,VNC远程服务器的搭建过程 http://www.linuxidc.com/Linux/2012-08/68564.htm
更多SUSE相关信息见SUSE 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=3