背景:
putty
WindowsでSSHクライアントおよびファイル転送アプリケーションとして使用しましたWinScp
。ところで、現在会社に入社した後、同僚がクラウドサーバーにファイルをアップロードしてダウンロードするには、コマンドを使用するように求めclient <--> server
ました。以降、sshクライアントを使用してから利用できます。rz
sz
Xshell
rz
sz
Xshell
putty
コマンドラインscp
やWinscp
クライアントを使用しないのはなぜですか?企業ネットワーク内の少数のコンピュータだけがクラウドサーバーに直接ssh
接続できるためです。scp
だから家にいるときは、次ssh
のディレクトリに移動します。ジャンプサーバーその後、接続するクラウドサーバーを選択してファイル転送rz
に使用できます。sz
だから私の質問は次のようになります
内部的にはどのようにrz
機能しますかsz
?リモートサーバーに直接接続していない場合、私の場合はどのように機能しますかrz
?sz
scp
ssh
(簡単な紹介をいただきありがとうございます。ドキュメント(man rz
、、man rz
)とGoogleを介して見つけることができるすべてを読んだが、役に立つものが見つかりませんでした。ソースコードしかし、何も得られませんでした。 )
rz
信頼できますかsz
?他の人はそれを使用していますか?私のニーズに合ったより良い解決策はありますか?
このように古くて人気のないものを使うと怖がります。何が間違っているのかわかりません。私はsha256sum
ファイルをアップロードまたはダウンロードした後に常にこれを行います。これは私を狂わせます。
Xshell
次の両方のコマンドを使用していくつかのオプションを試しました。
sz
--ascii
デフォルトでは、改行変換を実行することを指定するバイナリファイルが送信されます。rz
常にバイナリファイルを送信することを指定しても--ascii
何も変更されず、これはドキュメントとまったく一致しません。 ;(
ベストアンサー1
rzとszは内部的にどのように機能しますか?
それらは基本的に端末接続を使用して互いに通信し、特定のプロトコルを使用してその接続を介してファイルを送信します。これには、一部の同期(sz
プログラムが起動時にデータをダンプするわけではないため)、メタデータ処理(ファイル名など)、エラー検出、必要に応じて再送信が含まれます。また、可能な制御文字が送信を妨げるように解釈されるのを防ぐために、いくつかの端末設定を指定したようです。
ただし、実際の契約内容はよくわかりませんが、いくつかのリンクがありますWikipediaのZMODEMページ興味があれば。
実際にはSSH接続を必要としない作業があるかもしれません。たとえば、TCP / IPおよびイーサネットの場合、下位レベルにエラー検出コードがあり、TCPは再送信を処理し、SSHレベルの認証された暗号スイートは少なくとも送信エラーを検出する必要があります(悪意のあるように見えるため)。変更されたデータパケットで))。
SSH接続を介してファイルを送信できます
cat somefile.txt | ssh me@somewhere 'cat > somefile.txt'
これは単にSSH接続を介してデータをダンプするだけですが、SSHは8ビットクリーンなのでうまく機能し、このように使用するとリモート側に端末を設定しないため、端末制御は問題になりません。
もちろん、次のように中間ジャンプホストでSSHクライアントを手動で実行する必要がある場合
myworkstation$ ssh me@jumphost
jumphost$ ssh me@destination
これにより、パイプラインを設定するのが少し難しくなります。次の作業を行う必要があります。
myworkstation$ cat somefile.txt | ssh me@jumphost 'ssh me@destination "cat > somefile.txt"'
入れ子になったコマンドラインがSSHで動作しているかどうかはわかりません。だから、そういう意味でZMODEMを両端で使えば、少なくともターミナルセッションで使えるので、ある程度使える選択肢になりそうだ.
その後、SSHにはProxyCommand
ジャンプホストの使用を簡素化し、すぐに使用したり、より使いやすくするscp
機能がありますsftp
。たとえば、参照してください。https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Proxies_and_Jump_Hosts
rzとszは信頼できますか?他の人はそれを使用していますか?私のニーズに合ったより良い解決策はありますか?
このように古くて人気のないものを使うと怖がります。何が間違っているのかわかりません。私はいつもファイルをアップロードまたはダウンロードした後にsha256sumを実行するのに本当に迷惑です。
まあ、彼らは長い間使用されてきましたが、ファイルは(ほとんど)まだバイトあたり8ビットのデータダンプなので、基本的にはまだ動作する理由はありません。少し昔ながらですが、それ自体には何の問題もありません。もちろん、パフォーマンスは別の問題であり、バグを発見した場合は、それを修正するための積極的な管理者を見つけるのに苦労する準備が必要になる場合があります。
一般的に必須ではありませんが、データを大切にして確実に確認したい場合は、データ転送を手動で確認するのが悪いのかどうかはわかりません。 HTTP経由で何かを転送する場合でも、両方のように切り捨てられた転送を得ることができますwget http://...
。curl -o http://...
cat | ssh cat
あなたのニーズに最も適したものが何であるかを自分で決定する必要があります。