ubuntu14.04离线安装telnet
在 Ubuntu 14.04 上离线安装 Telnet(服务端),本质是:
在有网络的机器下载
.deb依赖包 → 拷贝到目标机 → 本地安装
下面给你标准可执行流程。
一、需要安装的核心包
Ubuntu 14.04 Telnet 服务端通常需要:
-
telnetd -
xinetd -
可能的依赖包(libwrap0 等)
二、有网机器上下载离线包
假设一台同版本 Ubuntu 14.04 可联网。
1️⃣ 建立下载目录
mkdir telnet_offline
cd telnet_offline
2️⃣ 下载所有依赖(关键命令)
apt-get install --download-only telnetd xinetd
下载后的包默认在:
/var/cache/apt/archives/
拷贝出来:
cp /var/cache/apt/archives/*.deb ~/telnet_offline/
更干净的方法(推荐)
apt-get download telnetd xinetd
apt-cache depends telnetd xinetd
然后把依赖包也逐个下载:
apt-get download 包名
但 14.04 比较老,直接用 --download-only 更简单。
三、拷贝到目标服务器
通过:
-
scp
-
U 盘
-
挂载 ISO
-
内网共享
把所有 .deb 文件放到:
/root/telnet_offline/
四、目标机离线安装
进入目录:
cd /root/telnet_offline
安装:
dpkg -i *.deb
如果提示依赖问题:
dpkg -i *.deb
apt-get -f install
⚠ 注意:
apt-get -f install 不能联网,否则会报错。
在完全离线情况下,只要依赖包齐全,dpkg 即可成功。
五、启动服务
service xinetd restart
确认端口:
netstat -utpln | grep 23
六、极端离线场景(无同版本机器)
如果没有 Ubuntu 14.04 联网环境,可以:
方案 A:使用 Ubuntu 14.04 官方 ISO
挂载 ISO:
mount -o loop ubuntu-14.04.iso /mnt
然后:
dpkg -i /mnt/pool/main/t/telnetd/*.deb
方案 B:直接手动下载(旧源地址)
Ubuntu 14.04 属于 old-releases:
http://old-releases.ubuntu.com/ubuntu/pool/main/t/telnetd/
用浏览器下载对应版本的:
-
telnetd_xxx.deb
-
xinetd_xxx.deb
-
libwrap0_xxx.deb
七、最小依赖组合(经验值)
Ubuntu 14.04 通常只需:
libwrap0
xinetd
telnetd
安装顺序:
dpkg -i libwrap0*.deb
dpkg -i xinetd*.deb
dpkg -i telnetd*.deb
八、提醒(重要)
Telnet:
-
明文密码
-
无加密
-
公网绝对禁止
-
只能作为临时救援
你现在的真实目的应该是:
在重启 ssh 之前准备一个备用通道
在这种情况下:
✔ 安装
✔ 测试可登录
✔ 重启 ssh
✔ ssh 正常后立即删除 telnet
更安全替代方案(强烈建议)
与其装 Telnet,不如:
/usr/sbin/sshd -p 2222
启动第二个 SSH 实例
这比 Telnet 安全 100 倍。
你的安装是成功的,但 telnet 服务并没有被 xinetd 启用,所以没有监听 23 端口。
从你输出看:
-
xinetd 已运行
-
telnetd 已安装
-
但
xinetd没有加载 telnet 服务配置 -
所以 23 不监听
这是 Ubuntu 14.04 的一个典型问题:telnetd 安装后不会自动在 /etc/xinetd.d/ 生成 telnet 配置。
一、确认 telnet 配置文件是否存在
执行:
ls -l /etc/xinetd.d/
看是否有:
telnet
如果没有这个文件 → 必须手动创建。
二、手动创建 telnet xinetd 配置
创建文件:
vi /etc/xinetd.d/telnet
写入以下内容:
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
保存退出。
三、确认 in.telnetd 存在
执行:
ls -l /usr/sbin/in.telnetd
如果不存在,说明 telnetd 包异常。
正常应该存在。
四、重启 xinetd
service xinetd restart
然后检查:
netstat -utpln | grep :23
正常应看到:
0.0.0.0:23 LISTEN
⚠ 注意:
xinetd 是“按需监听”,有时只显示在:
ss -lntp | grep 23
五、如果还是没有 23 端口
再检查 xinetd 是否读取配置:
grep telnet /etc/services
应该有:
telnet 23/tcp
然后查看日志:
tail -n 20 /var/log/syslog
看 xinetd 是否报错。
六、最常见原因
90% 情况是:
/etc/xinetd.d/telnet不存在
或者disable = yes
七、确认 xinetd 是否真的加载了 telnet
执行:
xinetd -d
会进入 debug 模式。
如果 telnet 服务被加载,会看到:
Service telnet added
八、补充说明
你现在 netstat 输出里没有 23:
说明:
✔ telnetd 安装成功
✔ xinetd 在运行
❌ 但 telnet 服务未启用
九、重要提醒(你当前的场景)
你装 telnet 是为了:
给 ssh 重启前做备用通道
在这种情况下,我仍然建议:
比 telnet 更安全的方式
直接启动一个备用 ssh:
/usr/sbin/sshd -p 2222
然后测试:
ssh root@IP -p 2222
成功后再 restart 原 ssh。
这比 telnet 安全太多。
现在请你执行
ls /etc/xinetd.d/
把输出发我。
我可以 10 秒内判断问题点。
No Comments