注:本教程仅适用CentOS,而Ubuntu与CentOS操作步骤和指令类似但略微不同,本教程仅演示CentOS部分,另外其他如红帽(Redhat)、深度等操作系统未测试,需要各位自行测试
序言
Telnet提供服务允许用户登陆远程计算机并执行命令,就像是在远程使用计算机的控制台。实际上,Telnet作为一个协议的出现早于TCP/IP协议簇的其他的应用层协议。Telnet协议是最初的协议,TCP/IP协议簇随后才逐渐建立起来。Telnet服务是面向连接的,因此是基于TCP协议的。TCP端口23支持Telnet服务。
目录
Telnet服务器及客户端部署
本次将使用2台电脑并处于同一网络下进行服务器和客户端配置测试(也可以1台电脑完成)
注:以下全部操作将会以root身份进行。
服务器端配置
首先安装Telnet服务器端,在终端输入以下指令安装
yum install telnet-server
如果出现以下提示输入y同意即可
telnet服务器端安装完成
接着输入以下指令安装Xinetd服务,因为Telnet依赖该服务
yum install xinetd
Xinetd服务安装完成
接下来输入以下两条指令分别开启telnet服务和xinetd服务
systemctl start telnet.socket
systemctl start xinetd.service
输入完成即可,该指令如无出错,就无显示。
接着分别输入以下两条指令查看telnet服务和xinetd服务是否正在运行
如果都显示active表示已经启动。
再分别输入以下指令将telnet服务和xinetd服务设置为开机启动
systemctl enable xinetd.service
systemctl enable telnet.socket
输入即可。
输入以下指令开启linux系统防火墙端口(注:以下短行均为英文字符)
firewall-cmd --permanent --add-port=23/tcp
firewall-cmd --reload
到这linux系统防火墙配置完毕
最后再对linux系统安全策略添加规则
在终端分别输入以下指令(以下均为英文字符)【shell编程写入文件】
echo 'pts/0' >> /etc/securetty
echo 'pts/1' >> /etc/securetty
>>说明:将pts/0重定向追加到/etc/securetty这个文件中,如果没有则系统自动创建
好处:将节省你输入vim /etc/securetty再输入数据的时间,且来得方便、快速
用途:允许telnet远程登入root用户
输入完成后无返回提示,实际已经写入,我们可以通过cat指令查看内容
至此,Telnet服务器端已经部署完毕。
注意:这里我已经换第二台电脑进行配置,如果是一台电脑请继续在你的虚拟机进行配置
先输入以下指令安装telnet客户端
yum install -y telnet
安装完成即可。
客户端配置完毕
虚拟机端口映射以及windows系统防火墙设置
1.虚拟机端口映射(物理桥接可以直接跳过该部分)
先点击虚拟机编辑按钮下的虚拟网络编辑器
打开后就是这样
此时我们选择以管理员身份更改设置,再次打开这个界面后选中VMnet8虚拟网卡再点击NAT设置
将会打开如下界面
再点击添加,将会弹出以下窗口
主机端口:就是需要映射到的电脑网卡的端口
虚拟机IP地址:就是虚拟机内虚拟网卡分配给linux系统的ip地址
虚拟机端口:就是linux系统虚拟网卡的端口
描述:可以随便填便于区分
接着我们需要知道虚拟机ip地址是多少,可输入以下指令
ifconfig | grep -w inet
指令说明:将ifconfig运行的结果通过管道传输给grep查找命令进行关键字查找
-w 按精确字符进行查找
好处:减少大量字符,只显示查找的内容,更加人性化
可以看见,只有我们需要的信息显示,多余的已经过滤掉,图中红框即为虚拟机地址,并将其填入
说明:23端口默认telnet(建议后期更改端口)
全部点击确定,完成后就是这样
全部点击确定,等待重启服务,虚拟机端口映射已经完成。
为了解决部分品牌笔记本软件适配较好,将windows系统防火墙使用自己家的杀毒软件进行接管,导致用户无法从软件层面对防火墙进行设置,所以使用命令行强制设置防火墙。
先打开搜索
输入cmd(命令提示符)
选择以管理员身份运行
打开的命令行头标为管理员
在其中分别输入以下指令
强制添加入站规则
netsh advfirewall firewall add rule name="SGAccessInboundRule" dir=in protocol=tcp action=allow localport=23
强制添加出站规则
netsh advfirewall firewall add rule name="SGAccessOutboundRule" dir=out protocol=tcp action=allow remoteport=23
以上命令输入后,如果都返回确定,及代表windows系统防火墙配置完成
Telnet服务器与客户端连接测试
测试环境:CentOS8 处于同一局域网下
服务器端登入root用户
客户端登入普通用户
先在服务器端的windows系统下的cmd输入ipconfig
在显示的数据中,如果你的服务器端使用网线连接路由器或者交换机请使用以下ip地址进行连接
如果服务器端使用wifi连接路由器则使用以下ip地址进行连接
首先在服务器端输入who查看当前登入用户
注:以root账号登入仅有root,而先用普通用户登入,再缺换root账号,输入who只有普通用户名字
此时我们换成客户端主机,使用以上ip地址进行连接
先在windows系统cmd下连接
输入以下指令
telnet 192.168.0.146
会出现以下提示
这是因为telnet客户端在windows10版本之后,微软官方去掉了该功能,需要自行启用
首先点开设置找到应用
在弹出的界面中选择应用和功能右边找到程序和功能
打开后选中左边的启用或者关闭windows功能
找到telnet客户端并将其勾选
再点击确定等待出现窗口表示开启完成
这时,我们再切换回cmd再输入刚刚的指令回车,发现已经有反应了
在localhost login输入需要登入的用户
在Password输入密码,再按回车
然后我们在客户机切换到linux系统使用root用户再次连接telnet服务器
出现终端命令行和登入提示的上次登入的信息表示已经成功连接服务器
然后我们在服务器端输入who
可以看见,相比于第一次输入who,多了一个普通用户和root用户,就是我们刚刚登入的哪两个用户,来自IP地址192.168.0.149的主机。
完成到这,telnet服务已经部署完毕,且局域网测试通过。
虽然telnet已经过时,但本教程给正在学习linux系统的人,也补充vmware虚拟机NAT模式端口映射设置以及windows系统防火墙端口设置教程