说明
telnet既是一种通信协议,也是一个远程登录工具。
Telnet协议是TCP/IP协议家族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
但是因为telnet是采用明文传送报文的,其安全性不好,因此现在很多Linux服务器都不开放telnet服务,而是改用更安全的SSH服务了。
当然,交换机等网络设备还是会采用telnet登录的方式。
telnet分为服务端和客户端,假设windows要通过telnet远程访问Linux,那么,linux上需要部署telnet-server,windows上要安装telnet客户端。
操作指令
cmd输入telnet,进入telnet操作端,可以执行下列指令
open : 使用 openhostname 可以建立到主机的 Telnet 连接。
close : 使用命令 close 命令可以关闭现有的 Telnet 连接。
display : 使用 display 命令可以查看 Telnet 客户端的当前设置。
send : 使用 send 命令可以向 Telnet 服务器发送命令。支持以下命令:
ao : 放弃输出命令。
ayt : “Are you there”命令。
esc : 发送当前的转义字符。
ip : 中断进程命令。
synch : 执行 Telnet 同步操作。
brk : 发送信号。
上表所列命令以外的其他命令都将以字符串的形式发送至 Telnet 服务器。例如,sendabcd 将发送字符串 abcd 至 Telnet 服务器,这样,Telnet 会话窗口中将出现该字符串。
quit :使用 quit 命令可以退出 Telnet 客户端。
close 关闭当前连接
logout 强制退出远程用户并关闭连接
display 显示当前操作的参数
mode 试图进入命令行方式或字符方式
open 连接到某一站点
quit 退出
set 设置当前操作的参数
unset 复位当前操作参数
status 打印状态信息
toggle 对操作参数进行开关转换
slc 改变特殊字符的状态
auth 打开/关闭确认功能z挂起
telnetsend 发送特殊字符
telnetenviron 更改环境变量?显示帮助信息
Linux配置telnet
https://www.cnblogs.com/zuochuang/p/6511285.html
https://blog.csdn.net/doubleqinyan/article/details/80492421
https://blog.csdn.net/shun35/article/details/90701491
一、检查并安装telnet
- 检查是否安装telnet-server
rpm -qa telnet-server
无输出表示telnet-server未安装,则执行下方语句进行安装
yum -y install telnet-server
- 检查是否安装telnet(客户端)
rpm -qa telnet
正常情况下会输出
[root@dev09 xinetd.d]# rpm -qa telnet
telnet-0.17-64.el7.x86_64
无输出表示telnet未安装,则执行下方语句进行安装
yum -y install telnet
- 也可直接全部安装
yum install xinetd telnet telnet-server -y
- 启动telnet
systemctl start telnet.socket
二、配置telnet
- 设置开机启动
chkconfig telnet on
新增或修改配置文件
vim /etc/xinetd.d/telnet ,并将disable改为no即可。 ```javascript
default: on
description: The telnet server serves telnet sessions; it uses \
unencrypted username/password pairs for authentication.
service telnet {
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
<a name="d7Red"></a>
## 三、重新启动xinetd守护进程
telnet服务也是由xinetd守护的,所以安装完telnet-server后,需要重新启动xinetd守护进程。<br />service xinetd restart 或者 /etc/rc.d/init.d/xinetd restart
- 安装xinetd
出现下方情况为未安装xinetd<br />![](https://cdn.nlark.com/yuque/0/2020/png/623390/1604391017496-f6a0546c-13fc-4e01-9031-1297e73b7fb5.png#align=left&display=inline&height=76&margin=%5Bobject%20Object%5D&originHeight=76&originWidth=668&size=0&status=done&style=none&width=668)<br />需要安装,并重启xinetd<br />yum -y install xinetd <br />service xinetd restart
<a name="kpA6T"></a>
## 四、测试
- 查看tcp的23端口是否正常开启
netstat -tnl |grep 23 <br />正常情况下为<br />![](https://cdn.nlark.com/yuque/0/2020/png/623390/1604391171208-6c5cd2db-a70a-4bde-8d2f-eb75e534763d.png#align=left&display=inline&height=48&margin=%5Bobject%20Object%5D&originHeight=48&originWidth=845&size=0&status=done&style=none&width=845)
如果无输出说明未正常启动,需要新建或修改文件 vim /etc/xinetd.d/telnet ,并将disable改为no即可。
<a name="vKmW9"></a>
## 五、防火墙配置
如果想让外部机器通过telnet访问当前机器,需要开放防火墙中的23端口。
```javascript
iptables -I INPUT -p tcp --dport 23 -jACCEPT
iptables -I INPUT -p udp --dport 23 -jACCEPT
service iptables save //保存
service iptables restart //重启防火墙
- 也可以直接把防火墙关掉
service iptables stop
六、允许远程以root用户登录
默认情况下Linux不允许root用户以telnet方式登录Linux主机,若要允许root用户登录可采用以下3中方法:
方法一:修改/etc/pam.d/login配置文件
RedHat Linux对于远程登录的限制体现在/etc/pam.d/login文件中,把限制内容注释即可。
[root@vm-rhel root]# cat /etc/pam.d/login
#%PAM-1.0
auth required pam_securetty.so
auth required pam_stack.so service=system-auth
#auth required pam_nologin.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
session optional pam_console.so
方法二:移除/etc/securetty文件夹
验证规则设置在/etc/securetty文件中,该文件定义了root用户只能在tty1-tty6的终端上记录,删除该文件或将其改名即可避开验证规则从而实现root用户以telnet方式远程登录Linux主机。
[root@vm-rhel root]# mv /etc/securetty /etc/securetty.bak
方法三:先用普通用户登录,然后切换到root用户(推荐)
[bboss@vm-rhel bboss]$ su root
Password:
[root@vm-rhel bboss]#
windows配置telnet客户端
http://www.192-168-1-1.net.cn/telnet.html
执行连接linux操作
在cmb中,输入
telnet 192.168.208.11 23 # IP和端口之间有空格,端口不写时默认为23端口,连接成功会进入登录界面。
输入用户名和密码(默认不能访问root用户),成功后如下所示
退出按 ctrl+]或者ctrl+d,会从远程机器客户端返回到本地telnet操作端。
输入quit,才能回到cmd操作端