lrzsz 在我的 Mac OS X 中无法运行

lrzsz 在我的 Mac OS X 中无法运行

当我在Windows中使用secureCRT时,我经常使用szrz在我的linux服务器和客户端机器之间传输文件。但我不能在 MacOS X 的 iterm2 中使用这种方式。lrzsz软件包已安装在我的 Linux 服务器(ubuntu 13.04)中
但是,

benjamin@my-ubuntu-13-04:~$ rz
�z 等待接收。**B0100000023be50

终端客户端挂起。有什么问题?

答案1

在该rz命令之后,连接实际上并未挂起 - 该rz命令已将 ZMODEM 协议启动消息发送给您iterm2,并正在等待它给出有效的 ZMODEM 响应。不幸的是,iterm2似乎不支持ZMODEM协议,因此rz远程端的命令将等待直到超时。

rz命令sz在其标准输入/输出流中使用 ZMODEM 协议。这在远程端很有用,但在本地端,您需要一个终端仿真器程序,它可以本地支持 ZMODEM 或将传入数据传输到另一个程序,并将该程序的输出返回到远程服务器;这将允许您在 Mac 上本地使用 的等效项sz来提供 ZMODEM 支持。rz

原则上,ZMODEM 协议可用于任何终端类型的连接。但 ZMODEM 协议几乎完全过时了,因为通过 SSH 连接,您可以使用更好的东西:MacOS 命令行包含 OpenSSHscp命令,可用于通过 SSH 协议传输文件。

您都可以将文件“推送”到远程服务器中:

scp local-filename username@remote-hostname:remote-directory-or-filename

...或者如果您知道远程文件名,则从远程服务器“拉取”文件:

scp username@remote-hostname:remote-directory/remote-file local-directory-or-filename

如果本地和远程用户名相同,则可以省略该username@部分。远程目录名称可以是绝对名称(以 开头/),也可以是相对于远程主机上的主目录的相对名称。如果添加该-r选项,则可以复制整个目录。

与 ZMODEM 不同,您不需要与远程主机的活动终端连接来传输文件:scp将建立自己的 SSH 连接来进行文件传输。如果您还使用 SSH 密钥身份验证来消除手动输入密码的需要,那么这将成为自动文件传输的好方法。

答案2

您问题的答案是使用了解 SZ 和 RZ 协议的客户端。

SecureCRT 是一款在 Mac 上运行良好的客户端。我每天都使用它 - 它比内置的 OSX shell 好得多(是的,它是本地 shell)。我从远程 Mac(通过 ssh 到正常 shell)和 Linux 发送和接收没有任何问题。可能其他 ssh 模拟器也做 rz/sz,但我对我的很满意,所以我没有寻找其他人,这篇文章的其他回复也没有给你任何答案(scp 不是 sz) - 所以至少我的答案是真正的实际答案,并且您已经了解该软件。

相关内容