可以先从telnet的百度百科了解什么是telnet.
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
远程登录的工作过程
使用
Telnet
协议进行远程登陆时需要满足以下条件:在本的计算机上必须装有包含
Telnet
协议的客户程序;必须知道远程主机的
Ip
地址或域名;必须知道登录标识与口令。
Telnet
远程登录服务分为以下
4
个过程:
1
)本地与远程主机建立连接。该过程实际上是建立一个
TCP
连接,用户必须知道远程主机的
Ip
地址或域名;
2
)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以
NVT
(
Net Virtual Terminal
)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个
IP
数据包;
3
)将远程主机输出的
NVT
格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;
4
)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个
TCP
连接。 上面的内容只是讨论了远程登陆最基本的东西,其中的复杂和编程人员的艰辛是我们难以想象的,不知道你在舒服的使用
Telnet
的同时,是否想到了这些!
Linux
下
telnet
服务的搭建
telnet-server-0.17-25.i386.rpm
(服务端软件,在第三张镜像盘)
telnet-0.17-25.i386.rpm
(客户端软件,在第一张镜像盘)
[root@localhost root]# rpm -qa|grep telnet
//
查看
telnet
是否安装
[root@localhost root]# mount /dev/cdrom /mnt/cdrom
//
把第一张光盘插入,然后挂载
CD-ROW
标准设备光盘
[root@localhost root]# cd /mnt/cdrom/RedHat/RPMS/
//
切换到软件包所在目录
/mnt/cdrom/RedHat/RPMS
目录中
[root@localhost RPMS]# ls -l|grep telnet
//
显示所有文件详细信息,经管道过滤
,
只显示含有
telnet
相关的软件包。
[root@localhost RPMS]# rpm -ivh telnet-0.17-25.i386.rpm
//
用
rpm
命令安装用进度条显示安装进程
[root@localhost RPMS]# cd
//
切换到
root
主目录中,如果在挂载点目录下卸载挂载目录,会显示设备忙,无法卸载。
[root@localhost root]# umount /mnt/cdrom
//
卸载
/mnt/cdrom
挂载点设备光盘
[root@localhost root]# mount /dev/cdrom /mnt/cdrom
//
插入第三张镜像盘,用
mount
命令挂载
CD-ROW
光盘设置
[root@localhost root]# cd /mnt/cdrom/RedHat/RPMS/
//
切换到软件包存放目录
[root@localhost RPMS]# ll |grep telnet
//
显示文件详细信息,经管道过滤只显示包含
telnet
的软件包
[root@localhost RPMS]# rpm -ivh telnet-server-0.17-25.i386.rpm
//
用
rpm
命令安装,用进度条显示详细内容
[root@localhost RPMS]# cd
//
切换到
root
主目录
[root@localhost root]# vi /etc/xinetd.d/telnet
//
打开编辑配置文件超级服务目录下的
telnet
配置文件
service telnet
{
flags = REUSE
socket_type = stream //
插座类型
泛指流媒体技术
wait = no //
是否等待,为
no
user = root //
用户是
root
超级用户
server = /usr/sbin/in.telnetd //
超级用户启动服务器
log_on_failure += USERID //
登录失败返回用户的执行者识别编号
disable = no //
是否为禁用
}
[root@localhost root]# service xinetd restart
//
修改文件以后重新启动超级服务,让修改配置生效。
C:\Documents and Settings\Administrator>telnet 172.19.22.100
//
开始
—
运行
—cmd(
或
win+R--cmd)
,输入:
telnet 172.19.22.100
测试
Red Hat Linux release 9 (Shrike)
Kernel 2.4.20-8 on an i686
login: root //
用超级用户
root
登录
Password: //
输入
root
超级用户密码
Login incorrect //
登陆失败
login: user //
用普通用户
user
登陆
Password: //
输入
user
用户的密码
Last login: Fri Apr 16 15:21:02 from 172.19.22.100 //
登陆成功
[user@localhost user]$ su - //
切换到
root
用户
Password: //
输入
root
用户密码
[root@localhost root]# pwd
//
显示当前路径,和
linux
下的超级终端是一样的。
[root@localhost root]# service iptables restart
//
启动防火墙,在来测试一下
telnet
是否能登录
[root@localhost root]# netstat -tlna|grep 23
//
显示所以的
tcp
协议端口,经管道过滤,只显示
23
端口
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN
[root@localhost root]# iptables -I INPUT -p tcp --dport 23 -j ACCEPT
//
开放防火墙的
23
端口
[root@localhost root]# vi /etc/services
//
打开编辑配置文件目录下的
services
,将默认的
23
端口,改为预设端口:
4570
[root@localhost root]# service xinetd restart
//
重新启动
xinetd
超级服务
[root@localhost root]# iptables -I INPUT -p tcp --dport 4570 -j ACCEPT
//
让防火墙开放设置
tcp
协议
4570
端口
C:\Documents and Settings\Administrator>telnet 172.19.22.100 4570
//
在命令提示输入
telnet
命令跟
IP
地址在跟刚才设置的端口号:
4570
Red Hat Linux release 9 (Shrike)
Kernel 2.4.20-8 on an i686
login: user
Password:
Last login: Fri Apr 16 16:47:44 from 172.19.22.84
[user@localhost user]$ su -
Password:
[root@localhost root]# netstat -tan|grep 4570
//
显示所以的
tcp
协议端口,经管道过滤只显示
4570
端口
tcp 0 0 0.0.0.0:4570 0.0.0.0:* LISTEN
tcp 0 2 172.19.22.100:4570 172.19.22.84:4916 ESTABLISHED
本文转自 chen138 51CTO博客,原文链接:http://blog.51cto.com/chenboqiang/296874,如需转载请自行联系原作者