lrzszは私のMac OS Xでは動作しません

lrzszは私のMac OS Xでは動作しません

WindowsでsecureCRTを使用すると、Linuxサーバーとクライアントシステム間でファイルを頻繁に使用しszて転送します。rzただし、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ではデフォルトでszZMODEMサポートを提供しています。rz

原則として、ZMODEMプロトコルは、すべての端末タイプの接続に使用できます。しかし、ZMODEMプロトコルはSSH接続を介してより良いものを使用できるため、ほとんど完全に役に立ちません。 MacOSコマンドラインには、scpSSHプロトコルを介してファイルを転送するために使用できるOpenSSHコマンドが含まれています。

リモートサーバーにファイルを「プッシュ」できます。

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シェルよりはるかに優れています(たとえば、デフォルトのシェルです)。リモートMac(ssh経由で通常のシェル)とLinuxで送受信することに問題はありません。 rz / szを実行する他のsshエミュレータもあるかもしれませんが、私は満足して他のものを見つけませんでした。少なくとも私の答えは実際の実用的な答えであり、あなたはすでにソフトウェアを知っています。

関連情報