两台Linux机器之间的Telnet文件传输

27

我想通过Telnet命令将一个文件从一个IP为“192.168.2.25”的Linux机器发送到另一个作为服务器的IP为“192.168.2.110”的Linux机器。

如何实现?


4
抱歉,Telnet 不支持文件传输,无法完成该操作。 - Some programmer dude
你可以使用FTP或SCP来完成上述操作。 - shubendrak
在我的情况下,目标服务器没有启用ssh。最佳实践是在源机器上创建一个带有Nginx或Apache的HTTP服务器,并从目标服务器wget。 - liruqi
3个回答

32

一个简单的选择是使用netcat(nc)。这在精简的Linux系统上特别有用,因为像ssh和ftp这样的服务被关闭。

在目标机器上运行以下命令:nc -l -p 1234 > out.file

在源机器上运行以下命令:nc -w 3 <dest-ip-adr> 1234 < out.file

更多细节,请参见例如此处

也有适用于Windows的netcat实现,例如ncat


4
对于缺少SSH工具的嵌入式系统,Netcat是非常有价值的! - m-ric

9

虽然仅使用telnet可能不太可能,但使用telnet和netcat是可以实现的。上面的一些示例只涉及使用netcat,但有时我会在仍在生产中的旧机器上使用telnet而不是netcat。在这种情况下,您可以将netcat设置为在较新的远程机器上监听并将文件发送到telnet。

在较新的远程机器上:

netcat -l <PORT> > OUTPUT.FILE

在旧的仅支持 Telnet 的机器上:
cat FILE | telnet REMOTE-HOST PORT

请注意,此方法仅适用于文本文件。如果您有某种二进制文件,则需要在两端进行进一步处理。

这里有很多好的答案,但如果您想要处理二进制文件和文件夹并无缝压缩传输的简单工具,请尝试portal优点
  • 端到端加密
  • 快速gzip(解)压缩
  • 简单的协议有助于提高传输速度
  • 处理任何类型和深度的文件夹
  • 如果端口开放或在同一NAT后面,则进行直接通信
缺点
  • 不进行NAT穿透,因此如果无法建立直接通信,则传输将通过中继进行
  • 这是一个新工具,因此在不同系统中未经测试,可能会出现奇怪的错误。
- Zino

2

Telnet只提供远程终端会话。你能做的最好的事情是使用telnet,在编辑器中打开新文件并从本地机器复制/粘贴文本。

要复制文件,请使用类似rsync、scp、rcp或ftp的工具。


1
无法复制所有内容。 - Rajeev Das

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接