温馨提示×

linux telnet如何传文件

小樊
43
2026-09-06 16:49:00
栏目: 智能运维

Linux 下使用 telnet 本身并不能直接“传文件”,因为 telnet 只是一个明文的交互式远程登录协议,不像 scpsftprsync 那样支持文件传输。

但如果你只能通过 telnet 登录到对方机器,仍有一些“曲线救国”的方式可以传文件。下面按实用性从高到低说明。


一、最推荐:用 base64 + telnet(文本通道传二进制)

这是 telnet 环境下最常用、最可靠的方法。

1️⃣ 发送端(本地)

base64 file.txt > file.b64

然后用 telnet 登录:

telnet 远程IP

在 telnet 会话中:

cat > file.b64

然后把 file.b64 的内容 粘贴进去,按 Ctrl+D 结束。

2️⃣ 接收端(远程)

base64 -d file.b64 > file.txt

✅ 优点:

  • 不受二进制破坏影响
  • 适合配置文件、脚本、小文件

❌ 缺点:

  • 大文件不方便
  • 手动粘贴容易出错

二、使用 uuencode(老式方法)

如果远程系统很老(比如 AIX、Solaris):

发送端:

uuencode file.txt file.txt > file.uu

telnet 里:

cat > file.uu

远程解码:

uudecode file.uu

三、利用 shell 的 echo / printf(极小文件)

只适合几行文本:

echo "hello" > test.txt

或:

printf 'line1\nline2\n' > test.txt

四、telnet + nc(如果允许)

如果远程有 nc

接收端(远程)

nc -l -p 1234 > file.txt

发送端(本地)

nc 远程IP 1234 < file.txt

但要先 telnet 登录通知对方


五、不推荐但存在:zmodem / kermit

某些 telnet 客户端支持:

  • rz / sz(需终端支持)
  • kermit

现代 Linux + 普通 telnet 基本不支持


六、真正正确的做法(如果可以选择)

如果可以控制环境,不要用 telnet 传文件

scp file user@host:/path
sftp user@host
rsync -avz file user@host:/path

telnet 是:

  • 明文
  • 不安全
  • 不适合文件传输

总结

方法 是否推荐 说明
base64 + telnet ✅✅✅ 最实用
uuencode 老系统
echo/printf 小文本
nc 需额外端口
telnet 原生 不支持

如果你愿意,可以告诉我:

  • 哪一端发文件
  • 文件大小
  • 远程系统(Linux?AIX?嵌入式?)

我可以给你最合适的精确命令

0