一键安装并启用 telnet服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一键安装并启用 telnet服务相关的知识,希望对你有一定的参考价值。
参考技术A 通过telnet方式连接到其他机器,进行远程操作本文实现了一键安装,并开启telnet服务。
默认情况下,telnet连接不能用root账号登陆,需要用普通用户的账号连接
2.1 安装服务包
安装xinted,telnet,telnet-server三个包
2.2 开启xinetd
Cent OS 6
service xinetd restart
CentOS7
systemctl restart xinetd
2.3 开启telnet
如果以上的telnet已经安装,但是还是如果出现如下报错
[root@localhost ~]#telnet 172.18.50.62
Trying 172.18.50.62...
telnet: connect to address 172.18.50.62: Connection refused
应该是服务没有启用
主要是要查看23端口是否有被打开
可以用 netstat -ntulp | grep 23查看
解决办法
CentOS6
chkconfig --list 查看telnet是否是on状态,如果状态为off,
用命令 chkconfig telnet on设置开机启动。centOS6不需要重启telnet服务,只需要确保这个状态是开启的就可以,因为该进程是有xinet监听,如果telnet已经是on状态,可以尝试重启xinet服务
CentOS7
查看telnet-server 是否已经启动
systemctl status telnet.socket
如果显示inactive则表示没有打开请执行
systemctl enable telnet.socket 加入开机启动
启动telnet 服务 systemctl start telnet.socket 注意7这边是telnet.socket,和6不一样
如果打了以下的命令,就会出现模块不存在的报错,因为命令打错了,telnet少了socket这个后缀
[root@localhost ~]#systemctl start telnet
Failed to start telnet.service: Unit not found.
3 一键安装脚本如下
将yum源配置好,且可用的前提下,可以直接运行以下脚本,实现一键安装和启用服务的功能
rpm -q xinetd &>/dev/null || yum -y install xinetd &>/dev/null
rpm -q telnet &>/dev/null || yum -y install telnet &>/dev/null
rpm -q telnet-server &>/dev/null || yum -y install telnet-server &>/dev/null
iptables -I INPUT -p tcp --dport 23 -jACCEPT
iptables -I INPUT -p udp --dport 23 -jACCEPT
os_version=`cat /etc/system-release | grep -o " [0-9]"| cut -d " " -f2`
grep_port ()
read -p "please input which port you want check: " port
if netstat -nutlp | grep ":$port " &>/dev/null;then
echo "Telnet service is open now,the host can be telnet now"
else
echo "Telnet port $port is not open,please check"
fi
;
case $os_version in
6)
chkconfig xinetd on;
chkconfig telnet on;
service xinetd restart;
grep_port
;;
7)
systemctl enable telnet.socket;
systemctl start telnet.socket;
systemctl enable xinetd;
systemctl restart xinetd;
grep_port
;;
*)
echo "Please check your system version,it not 6 or 7"
exit
;;
esac
4 附录
本文的编写,参考以下两个链接。如需更详细信息,建议查看以下两个文章
http://www.linuxdiyf.com/viewarticle.php?id=422702
https://yq.aliyun.com/articles/58310
在不能安装Telnet命令的情况下如何判断远程端口启用?
有的时候我们的Windows服务器没有权限安装Telnet Feature或者此功能被管理员禁用,这个时候我们有没有什么更为简便的方法去测试远程端口是否开启呢? 答案就是PowerShell命令。 下面是具体的操作步骤。
(1)假设我们已经搭建了一个Web服务器
python -m SimpleHTTPServer 9999
或者
python -m http.server 9999
(2)使用PowerShell的命令:Test-NetConnection 命令进行尝试
PS C:\\Users\\ Test-NetConnection -ComputerName 127.0.0.1 -Port 9999
ComputerName : 127.0.0.1
RemoteAddress : 127.0.0.1
RemotePort : 9999
InterfaceAlias : Loopback Pseudo-Interface 1
SourceAddress : 127.0.0.1
TcpTestSucceeded : True
TcpTestSucceeded : True 表示连接成功。如果换一个没有开放的端口,比如
9998,则会显示Failed 并且TcpTestSucceeded : False
Test-NetConnection -ComputerName 127.0.0.1 -Port 9998
警告: TCP connect to (127.0.0.1 : 9998) failed
ComputerName : 127.0.0.1
RemoteAddress : 127.0.0.1
RemotePort : 9998
InterfaceAlias : Loopback Pseudo-Interface 1
SourceAddress : 127.0.0.1
PingSucceeded : True
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded : False
(3)或者使用PowerShell的命令:TcpClient 命令进行尝试
New-Object System.Net.Sockets.TcpClient("127.0.0.1",9999)
Client : System.Net.Sockets.Socket
Available : 0
Connected : True
ExclusiveAddressUse : False
ReceiveBufferSize : 65536
SendBufferSize : 65536
ReceiveTimeout : 0
SendTimeout : 0
LingerState : System.Net.Sockets.LingerOption
NoDelay : False
Connected : True 代表连接上
如果换一个不存在的端口,其则立刻报出异常~
New-Object System.Net.Sockets.TcpClient("127.0.0.1",9998)
New-Object : 使用“2”个参数调用“.ctor”时发生异常:“由于目标计算机积极拒绝,无法连接。 127.0.0.1:9998”
所在位置 行:1 字符: 1
+ New-Object System.Net.Sockets.TcpClient("127.0.0.1",9998)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [New-Object],MethodInvocationException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
以上是关于一键安装并启用 telnet服务的主要内容,如果未能解决你的问题,请参考以下文章
windows server 2003中没有telnet服务怎么安装
如何在Windows系统上利用Telnet协议连接Linux服务器
Windows 技术篇-利用telnet方法ping端口通不通实例演示,如何测试服务器端口是否启用,windows启用telnet功能