2024年4月1日发(作者:)

Linux上telnet的配置

1. 简介

telnet是internet上常用的一种服务,用于远程登录。比如有天你的朋友的linux机器出了点问题,想让你帮他

看看,可是你此时正在离他十万八千里的外地,而你的朋友又心急火燎地告诉你,如果今天不搞定的话,第二天他

就得从公司走人了,为了他的饭碗,你无论如何也得帮他这个忙,不管你用什么办法。于是你只得立马放开手头的

一切,匆匆地在酒店结完帐,打车去机场连夜赶回来吗?NO!如果此时他的机器还能上网,而且telnet服务正好还

没有坏的话,你大可先点上一支烟,告诉他take it easy这只不过是a piece of cake,然后连上internet,telnet

上他的机器来帮他摘定。telnet的另一个极好的用途是,你有你的同事们可以共享一台机器进行工作而不必抢键盘

用。

但是,俗话说得好:祸兮福所依,福兮祸所伏。telnet是一个极不安全的服务,因为一旦有谁通过telnet连上了

你的机器,他就可以在登录用户所允许的权限里为所欲为,而更不幸的是,telnet的用户名密码认证是通过明文传

输的,你的用户名密码极有可能在网络上被一个黑客截获,然后用这个用户名密码来登录你的机器,你的机器就被

他用来佐酒了。

建议:用SSH来代替telnet。

2. 安装

telnet通常是默认安装的。

RPM方式:

可先查看一下是否已安装

rpm -aq|grep telnet

如果出现

telnet-x.x-x

telnet-server-x.x-x

表示已安装,其中telnet-x.x-x是telnet命令行客户端,telnet-server-x.x-x是telnet服务

新安装或升级:

rpm -Uvh

rpm -Uvh

3. 配置参数

telnet server的配置文件为/etc/xinetd.d/telnet

通常的配置如下:

service telnet

{

disable = no #启用

flags = REUSE #socket可重用

socket_type = stream #连接方式为TCP

wait = no #为每个请求启动一个进程

user = root #启动服务的用户为root

server = /usr/sbin/d #要激活的进程

log_on_failure += USERID #登录失败时记录登录用户名

}

如果要配置允许登录的客户端列表,加入

only_from = 192.168.0.2 #只允许192.168.0.2登录

如果要配置禁止登录的客户端列表,加入

no_access = 192.168.0.{2,3,4} #禁止192.168.0.2、192.168.0.3、192.168.0.4登录

如果要设置开放时段,加入

access_times = 9:00-12:00 13:00-17:00 # 每天只有这两个时段开放服务(我们的上班时间:P)

如果你有两个IP地址,一个是私网的IP地址如192.168.0.2,一个是公网的IP地址如218.75.74.83,如果你

希望用户只能从私网来登录telnet服务,那么加入

bind = 192.168.0.2

各配置项具体的含义和语法可参考xined配置文件属性说明(man )

4. 配置端口

修改services文件

vi /etc/services

找到以下两句

telnet 23/tcp

telnet 23/udp

如果前面有#字符,就去掉它。telnet的默认端口是23,这个端口也是黑客端口扫描的主要对象,因此最好将这

个端口修改掉,修改的方法很简单,就是将23这个数字修改掉,改成大一点的数字,比如61123。注意,1024以

下的端口号是internet保留的端口号,因此最好不要用,还应该注意不要与其它服务的端口冲突。

5. 启动服务

service xinetd restart

6. 验证

现在来验证一下成果:

telnet 127.0.0.1 (如果你修改了端口号,则输入 telnet 127.0.0.1:端口号)

如果出现

login:

则表示telnet已经启动,可以登录了,此时输入用户名密码就可以登录服务器了。注意,为了安全,telnet默认

是不允许root用户登录的,要允许root用户登录,可以用以下方法:

vi /etc/pam.d/login

在auth required pam_前加上#注释掉,或者移除/etc/securetty文件

mv /etc/securetty /etc/

但是为了安全,最好不要这样做,更好的办法是用普通用户登录,再用su命令获得root权限