温馨提示×

ubuntu telnet能传文件吗

小樊
34
2026-09-28 02:31:37
栏目: 智能运维

简短结论:Telnet 本身不能用来“传文件”(不像 FTP / SCP / SFTP 那样有文件传输协议)。

不过在实际使用中,有一些间接方式可以在“用 telnet 连上的情况下”把文件弄过去或弄出来,但都不推荐作为正经方案。


为什么说 telnet 不能传文件

Telnet 只是一个远程终端协议,它的作用是:

  • 建立一条字符流通道
  • 让你在远端执行命令

它没有:

  • 文件传输命令
  • 断点续传
  • 二进制安全传输

如果直接 cat file | telnet,很容易因为:

  • 控制字符
  • 换行转换
  • 编码问题
    导致文件损坏。

常见“曲线救国”方式(仅限特殊环境)

1. 用 base64 + telnet(最常用)

前提:两边都有 base64 命令

发送端:

base64 file.txt

接收端(telnet 里):

cat > file.txt.b64
# 粘贴 base64 内容,Ctrl+D 结束
base64 -d file.txt.b64 > file.txt

✅ 适合小文本文件
❌ 慢、易出错、不适合二进制大文件


2. 用 uuencode(老系统)

uuencode file.txt file.txt

在 telnet 会话里粘贴后再 uudecode


3. 通过 shell 重定向 + nc(不是纯 telnet)

如果远端有 nc:

nc -lvp 1234 > file

本地:

nc ip 1234 < file

这已经不是 telnet 了。


正确做法(强烈推荐)

如果你只是想传文件,请用:

  • scp
scp file user@host:/path
  • sftp
  • rsync
  • ssh + tar

如果机器只能 telnet,不能 ssh,那通常是:

  • 很老的系统
  • 或嵌入式设备

这种情况下,用 tftp 往往比 telnet 传文件靠谱得多。


总结

方式 是否推荐
telnet 直接传文件 ❌ 不行
base64 + telnet ⚠️ 临时能用
scp / sftp ✅ 正确方式
tftp ✅ 老设备常用

如果你能说一下:

  • Ubuntu 版本
  • 对面是什么系统
  • 是否能装软件

我可以给你最合适的一种具体方案。

0 踩