一、 实验题目:
linux配置telnet服务器,并基于命令行访问控制远程计算机。
二、 理论分析
Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
三、 方法和步骤
先安装telnet
sudo vi /etc/inetd.conf并加入以下一行
telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
sudo vi /etc/xinetd.conf并加入以下内容:
该设置可同时运行的最大进程数
表示使用syslog进行服务登记
表示该设置成功后登记客户机的ip地址和进程pid
表示该设置失败后登记客户机的ip地址
表示每秒25个入站连接,如果超过限制,则等待30秒
加入后,保存。
sudo vi /etc/xinetd.d/telnet
并加入以下内容:
表示当前允许这项服务
表示中断或重启xinetd时,tcp/ip socket可重用
使用的tcp的socket 类型
表示提供多线程功能
表示设置进程的uid
服务程序的完整路径
将失败的uid 添加到系统登记表中
重启机器或重启网络服务sudo /etc/init.d/xinetd restart
使用root登录:
mv /etc/securetty /etc/securetty.bak 这样root可以登录了.
也可这样:
修改/etc/pam.d/login这个文件.只需将下面一行注释掉即可.
#auth required lib/security/pam_securetty.so
我们用win7来作为主机,连接linux进行测试。
我们先在linux上打开telnet服务,查看ip地址:192.168.40.104
我们用win7的主机连接,在dos命令框中输入 telnet 192.168.40.104
用root登陆即可
连接成功
其他详细配制/etc/xinetd.d/telnet
service telnet
{
disable =no
bind =192.168.1.2
only_from=192.168.1.0/24
#上面这两行说明仅提供内部网段!
Instance =UNLIMITED
Nice =0
Flags =REUSE
socket_type=stream
wait =no
user =root
#server =/usr/sbin/telnetd
server =/usr/sbin/in.telnetd
server_args =-a none
log_on_failure +=USERID
}service telnet
{
disable =no
bind =140.116.142.196
only_from=140.116.0.0/16
no_access=140.116.32.{10,26}
#上面三行设置外部较为严格的限制
instance =10
umask =022
nice =10
flags =REUSE
socket_type=stream
wait =no
user =root
#server =/usr/sbin/telnetd
server =/usr/sbin/in.telnetd
log_on_failure +=USERID
}
加设防火墙iptables:
如果想要针对192.168.0.0/24这个网段及61.xxx.xxx.xxx这个IP进行telnet开放,可以增加下面几行规则:
/sbin/iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 --dport 23 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth0 -s 61.xxx.xxx.xxx --dport 23 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth0 --dport 23 -j DROP加设防火墙/etc/hosts.allow(deny)机制:
上面开放了192.168.0.0/24这个网段,但是如果您只想让其中的192.168.0.1~192.168.0.5进入,可以设置如下 :
vi /etc/hosts.allow
in.telnetd:192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4,192.168.0.5:allow