シンプルパイプ

シンプルパイプ

大きいoneキーが正しく設定されtwoscpおり、デスクトップからssh / scpを介して両方のサーバーに接続できます。

コピーする必要があるファイルがワークステーションのハードドライブの空き容量よりも大きく、次のことをしたいと思います。

scp one:/opt/bigfile.tar.gz two:/opt/bigfile.tar.gz

しかし、私は次のようになります。

ssh: Could not resolve hostname one: Name or service not known

これにはDNSがないので(理由は聞かないでください)〜/.ssh/configに次のものがあります。

Host one
    Hostname        <IP address of server one>
    User            jspurny

Host two
    Hostname        <IP address of server two>
    User            jspurny

小さなファイルを使用してからoneマイワークステーションに転送し、次に転送しようとするとtwo正常に動作します。

scp one:/opt/smallerfile.tar.gz .
scp smallerfile.tar.gz two:/opt/

コメントで提案されているようにIPアドレスを直接使用すると、次のような結果が得られます。

$ scp jspurny@<one's IP>:bigfile.tar.gz jspurny@<two's ip>:bigfile.tar.gz
Host key verification failed.
lost connection

あまりない:

bigfile.tar.gzサイズはここでは問題ではありません。サイズは私のワークステーションに保存できないため、この問題の「トリガー」にすぎません。この問題は、ファイルのサイズに関係なく発生します。

質問:

コマンドを出す理由:

scp oneremote:file secondremote:file

エイリアスを使用する.ssh/configか、IPアドレスを直接使用するとエラーが発生しますか?

解決策 - 一種の - まだ説明を探しています。- 大きなファイルを小さなファイルに分割し、ワークステーションを介して1つずつ転送しました。なぜ動作しないのか、まだ疑問に思っています。だから私はまだ問題の説明が欲しい..

失敗の理由が見つかりました。私はばかだと思う。私アイデアコマンド

scp one:file two:file

各サーバーに2つの接続が作成され、一つすぐに次の住所に送ってください。二つしたがって、リレーとして機能します。

明らかにこれは本当ではありません。これは、単純な-vオプションが実際には次のようにリンクされていることを示しているからです。一つそしてから一つそれは接続を試みます二つ。サーバーがあるため、これは明らかに不可能です。一つに接続しないでください二つ

ベストアンサー1

この回答に対するすべての功績は、https://superuser.com/a/602436/142948

-3scpオプションが必要です。

scp -3 one:/opt/bigfile.tar.gz two:/opt/bigfile.tar.gz

-3: 2 つのリモートホスト間のコピーはローカルホスト経由で送信されます。このオプションがないと、データは2つのリモートホスト間で直接コピーされます。

http://www.openbsd.org/cgi-bin/man.cgi?query=scp&sektion=1

それ以外の場合は、2 番目のエイリアス「two」が確認されます。ホスト「one」から、存在しない可能性があります。

おすすめ記事