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 telnet-x.x-x.rpm
rpm -Uvh telnet-server-x.x-x.rpm
Taball方式:
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/in.telnetd #要激活的进程
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 xinetd.conf)
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_securetty.so前加上#注释掉,或者移除/etc/securetty文件
mv /etc/securetty /etc/securetty.bak
但是为了安全,最好不要这样做,更好的办法是用普通用户登录,再用su命令获得root权限
阅读(1085) | 评论(0) | 转发(0) |