scp -3 は動作しなくなりました。

scp -3 は動作しなくなりました。

2つのリモートホスト(両方が異なるサブネット上にある)間で大容量ファイルを転送しようとしています。初めて動作するこのコマンドが見つかりました。

scp -3 root@foo:/path/to/largefile user@bar:/path/to/where/it/should/go/

このコマンドは最初は機能しましたが、別のファイルを転送するためにもう一度実行しようとすると転送されません。代わりにパスワードの入力を求められ、終了コード 1 で終了します。ランニングは以下-vを提供します:

debug1: Sending command: scp -v -f /run/sr-mount/3e3a905f-28ad-01b4-d50a-1ffe151ed28a/debian-8.8.0-amd64-CD-1.iso
Sending file modes: C0644 660602880 debian-8.8.0-amd64-CD-1.iso
Sink: C0644 660602880 debian-8.8.0-amd64-CD-1.iso
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 2480, received 2372 bytes, in 0.1 seconds
Bytes per second: sent 32882.6, received 31450.6
debug1: Exit status 1
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 2904, received 2964 bytes, in 3.3 seconds
Bytes per second: sent 893.5, received 912.0
debug1: Exit status 1

このコマンドが突然機能しなくなった理由を知らせる人がいますか?確認してみたのに/var/log/syslog何も出てこなかったんです。

ベストアンサー1

-vvvを使用してログからより多くの情報を取得できます。しかし、問題-3は、リモート側でエラーに関するデバッグ情報を合理的に取得できないことです(パッチを含むアップストリームのバグ)。エラーメッセージは片側から他方に送信され、それを表示する場所はありません(複雑さを引き起こさない)。

何が間違っているのかを理解する最も簡単な方法は、ソースファイルを正しく読み取ることができるか(そして名前にスペルエラーがないか)、ターゲットフォルダに書き込むことができるか、十分なディスク容量があるかを確認することです。

ssh root@foo stat /path/to/largefile
ssh user@bar stat /path/to/where/it/should/go/

もう1つの可能性は、ソースからOpenSSHをビルドし、上記のリンクされたパッチを適用することです。クライアントからエラーを印刷する必要があります(コンピュータでこれを行うだけで十分です)。

または直接使用すると、rsyncパフォーマンス、スループット、および可用性が優れています。

おすすめ記事