温馨提示×

linux telnet怎么传文件

小樊
37
2026-08-20 15:46:26
栏目: 智能运维

在 Linux 下 不建议用 telnet 传文件,因为 telnet 本身不支持文件传输,而且 明文传输不安全
如果你的目标机器已经开了 telnet,通常更推荐用其他方式,下面按“可行方案”给你说明。


一、为什么 telnet 不能传文件?

  • telnet 是 远程登录协议不是文件传输协议
  • 没有 put / get 这类命令
  • 只能传字符,无法直接传二进制文件

二、正确做法(强烈推荐)

✅ 方案 1:用 scp(最常用)

如果目标机器支持 SSH,这是最佳方式。

scp localfile.txt user@ip:/remote/path/

上传目录:

scp -r localdir user@ip:/remote/path/

下载:

scp user@ip:/remote/file.txt ./

✅ 安全、稳定、简单
❌ 需要 SSH


✅ 方案 2:用 rsync

适合大文件或增量同步。

rsync -avz localfile.txt user@ip:/remote/path/

✅ 方案 3:用 sftp

sftp user@ip
sftp> put file.txt
sftp> get file.txt

三、如果只能用 telnet(迫不得已)

✅ 方法 1:通过 base64(小文件)

1️⃣ 本地把文件转成 base64:

base64 file.txt > file.b64

2️⃣ telnet 登录后新建文件:

cat > file.txt

粘贴 file.b64 内容,Ctrl+D 结束

3️⃣ 还原:

base64 -d file.b64 > file.txt

⚠️ 只适合 小文本文件


✅ 方法 2:用 nc(netcat)

前提:对方也支持 nc

发送端:

nc 目标IP 1234 < file.txt

接收端(telnet 登录后):

nc -l -p 1234 > file.txt

⚠️ 不安全,不适合公网


✅ 方法 3:通过 HTTP / wget

1️⃣ 在本地起一个临时 HTTP 服务:

python3 -m http.server 8080

2️⃣ telnet 登录后:

wget http://本机IP:8080/file.txt

四、最推荐的一句话总结

telnet 不能传文件,用 scp / sftp / rsync 才是正确的方式

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

  • ✅ 目标机器 有没有 SSH
  • ✅ 是 公网还是内网
  • ✅ 文件大小大概多少

我可以帮你选 最合适、最安全 的方案。

0