如何通过Telnet命令高效执行CentOS系统管理操作?
- 内容介绍
- 文章标签
- 相关推荐
常见痛点与挑战
在CentOS环境中使用Telnet时管理员经常会遇到以下困扰:
- Telnet未默认安装程序干净安装后没有telnet客户端和服务端,需要手动安装。
- 防火墙阻断默认防火墙规则会拒绝23端口的流量,导致连接失败。
- 安全顾虑Telnet明文传输。容易被窃听,使用时需要权衡风险或结合加密隧道。
-
自定义端口与高级选项业务程序可能将Telnet服务迁移至非标准端口,或需禁用
~/.telnetrc使用Kerberos等高级认证方式。怎么说呢, - 自动化需求批量运维时希望在会话结束后自动执行清理命令或脚本。
一步到位的观点是,在CentOS上安装Telnet
根据不同的发行版选择对应的包管理器:
# 对于CentOS 7 / 8 使用 yum
sudo yum install -y telnet telnet-server
# 对于CentOS 8+或使用 dnf 的版本
sudo dnf install -y teltel net-tools # 包含telnet客户端
# 安装完成后验证版本
telnet -version
启用并永久启动Telnet服务
# 启动 Telnet socket
sudo systemctl start telnet.socket
# 设置开机自启
sudo systemctl enable telnet.socket
# 检查服务状态
sudo systemctl status telnet.socket
防火墙放行 23 端口
# 临时放行
sudo firewall-cmd --add-service=telnet
# 永久放行
sudo firewall-cmd --add-service=telnet --permanent
# 重载防火墙规则
sudo firewall-cmd --reload
快速连接远程服务器
再看基本语法。
telnet
示例 1:连接到默认23端口的服务器:
# 直接输入 IP 地址即可开始会话
telnet 192.168.1.100
示例 2:连接到非标准端口:
# 指定端口号,避免默认23端口被阻断
teltel 192.168.1.100 22
成功连接后会看到类似如下提示:
Trying 192.168.1.100...
Connected to 192.168.1.100.
Escape character is '^]'.
login这方面,
登录后常用文件程序操作
| 命令 | 描述 |
|---|---|
ls | 列出当前目录下的文件和子目录。 |
cd <目录> | 切换工作目录。 |
pwd | |
exit | |
manual <命令> | 查看远程程序中指定命令的帮助信息。 |
进阶 Telnet 使用技巧
-c 选项:忽略使用者专属的 .telnetrc
If you have a custom .telnetrc,but want a clean session without its predefined macros:
# 禁用读取 .telentrc 文件。以免意外执行宏或登录脚本
telent -c 192.168.1.100
-k 选项:使用 Kerberos 进行身份验证
# 在启用了 Kerberos 的环境中进行安全登录:
telent -k @192.168.1.100
-e 选项:会话结束自动执行指定命令
# 在退出 Telent 前运行自定义清理脚本,例如删除临时文件: telent -e "rm -f /tmp/*.tmp" 192.168.1.100
-n 选项:禁用 DNS 查找,加快连接速度
bash
telenet -n 192.168 .1 .100
常用帮助与文档查询
想要所有可用参数,请直接阅读手册页。
bash
man telent
或者在终端输入:
bash
telent –help
这将列出完整选项列表及简短说明。不过,
实战案例这方面。利用 Telent 测试 HTTP 服务
有时我们仅需快速确认某个 TCP 服务是否可达,而无需启动浏览器。下面演示通过 Telent 手动发送 HTTP GET 请求:
bash
telent www.example.com 80
GET / HTTP/1 .1
Host这方面。www .example.com
按回车后若返回类似 “200 OK” 的响应,即表示目标 Web 服务正常。
自动化脚本示例
将 Telent 与 Expect 脚本结合,可实现无交互批量登录、输入命令并收集输出:
tcl
set timeout 10 set host set user set pass
spawn telent $host expect "login:" { send "$user\r" } expect "Password:" { send "$pass\r" } expect "$ " { send "uptime\r" } expect "$ " { send "exit\r" } interact
保存为 login_expect.sh 赋予执行权限后即可批量检查多台机器。
小结
-
确认已安装
telent-client与telent-server - 配置防火墙放行相应端口
- 使用基本语法快速连上目标主机。并掌握 ls、cd、pwd、exit 等基础操作
-
熟悉
-c 、 -k 、 -e 、 -n等高级选项,以应对非标场景和安全需求 - 借助 man、--help 或 Expect 脚本,将 Telent 融入日常运维流程,实现高效、可重复的管理任务
常见痛点与挑战
在CentOS环境中使用Telnet时管理员经常会遇到以下困扰:
- Telnet未默认安装程序干净安装后没有telnet客户端和服务端,需要手动安装。
- 防火墙阻断默认防火墙规则会拒绝23端口的流量,导致连接失败。
- 安全顾虑Telnet明文传输。容易被窃听,使用时需要权衡风险或结合加密隧道。
-
自定义端口与高级选项业务程序可能将Telnet服务迁移至非标准端口,或需禁用
~/.telnetrc使用Kerberos等高级认证方式。怎么说呢, - 自动化需求批量运维时希望在会话结束后自动执行清理命令或脚本。
一步到位的观点是,在CentOS上安装Telnet
根据不同的发行版选择对应的包管理器:
# 对于CentOS 7 / 8 使用 yum
sudo yum install -y telnet telnet-server
# 对于CentOS 8+或使用 dnf 的版本
sudo dnf install -y teltel net-tools # 包含telnet客户端
# 安装完成后验证版本
telnet -version
启用并永久启动Telnet服务
# 启动 Telnet socket
sudo systemctl start telnet.socket
# 设置开机自启
sudo systemctl enable telnet.socket
# 检查服务状态
sudo systemctl status telnet.socket
防火墙放行 23 端口
# 临时放行
sudo firewall-cmd --add-service=telnet
# 永久放行
sudo firewall-cmd --add-service=telnet --permanent
# 重载防火墙规则
sudo firewall-cmd --reload
快速连接远程服务器
再看基本语法。
telnet
示例 1:连接到默认23端口的服务器:
# 直接输入 IP 地址即可开始会话
telnet 192.168.1.100
示例 2:连接到非标准端口:
# 指定端口号,避免默认23端口被阻断
teltel 192.168.1.100 22
成功连接后会看到类似如下提示:
Trying 192.168.1.100...
Connected to 192.168.1.100.
Escape character is '^]'.
login这方面,
登录后常用文件程序操作
| 命令 | 描述 |
|---|---|
ls | 列出当前目录下的文件和子目录。 |
cd <目录> | 切换工作目录。 |
pwd | |
exit | |
manual <命令> | 查看远程程序中指定命令的帮助信息。 |
进阶 Telnet 使用技巧
-c 选项:忽略使用者专属的 .telnetrc
If you have a custom .telnetrc,but want a clean session without its predefined macros:
# 禁用读取 .telentrc 文件。以免意外执行宏或登录脚本
telent -c 192.168.1.100
-k 选项:使用 Kerberos 进行身份验证
# 在启用了 Kerberos 的环境中进行安全登录:
telent -k @192.168.1.100
-e 选项:会话结束自动执行指定命令
# 在退出 Telent 前运行自定义清理脚本,例如删除临时文件: telent -e "rm -f /tmp/*.tmp" 192.168.1.100
-n 选项:禁用 DNS 查找,加快连接速度
bash
telenet -n 192.168 .1 .100
常用帮助与文档查询
想要所有可用参数,请直接阅读手册页。
bash
man telent
或者在终端输入:
bash
telent –help
这将列出完整选项列表及简短说明。不过,
实战案例这方面。利用 Telent 测试 HTTP 服务
有时我们仅需快速确认某个 TCP 服务是否可达,而无需启动浏览器。下面演示通过 Telent 手动发送 HTTP GET 请求:
bash
telent www.example.com 80
GET / HTTP/1 .1
Host这方面。www .example.com
按回车后若返回类似 “200 OK” 的响应,即表示目标 Web 服务正常。
自动化脚本示例
将 Telent 与 Expect 脚本结合,可实现无交互批量登录、输入命令并收集输出:
tcl
set timeout 10 set host set user set pass
spawn telent $host expect "login:" { send "$user\r" } expect "Password:" { send "$pass\r" } expect "$ " { send "uptime\r" } expect "$ " { send "exit\r" } interact
保存为 login_expect.sh 赋予执行权限后即可批量检查多台机器。
小结
-
确认已安装
telent-client与telent-server - 配置防火墙放行相应端口
- 使用基本语法快速连上目标主机。并掌握 ls、cd、pwd、exit 等基础操作
-
熟悉
-c 、 -k 、 -e 、 -n等高级选项,以应对非标场景和安全需求 - 借助 man、--help 或 Expect 脚本,将 Telent 融入日常运维流程,实现高效、可重复的管理任务

