scpでファイルを取得できる
scp remoteA:file .
そしてファイルを置く
scp file remoteB:
しかし、私が試してみると
scp remoteA:file remoteB:
私は
ssh: Could not resolve hostname remoteB: Name or service not known
lost connection
なぜ?
編集:
remoteAとremoteBの説明は~/.ssh/configにあります
答え1
おそらく scp 自体には関係ありませんが、ホスト間での名前解決に関係している可能性があります。考慮すべきもう 1 つの点は認証です。A から B へのパスフレーズなしのキー認証を使用するのが最善です。どのホストの .ssh/config でこれらのホストを定義していますか? scp はその定義を見つけられません。ホストの定義に問題がある場合は、ホストの実際の FQDN を試してください。問題なく動作するはずです。また、-v を使用して、エラーの詳細が見つかるかどうかを確認してください。
答え2
からへ直接remoteA
コピーが行われるため、到達可能なホストを指定する必要があります。remoteA
remoteB
これを回避するには、オプションを使用できます-3
。man scp
その機能は次のとおりです。
2 つのリモート ホスト間のコピーは、ローカル ホストを介して転送されます。このオプションを指定しないと、データは 2 つのリモート ホスト間で直接コピーされます。このオプションを指定すると、進行状況メーターが無効になることに注意してください。
答え3
scpがローカルファイルをホスト名として解決できないと報告したためにここに来た人(別のソース)名前またはサービスが不明)、 のような:
> scp archive_2017-03-01-09:54:02.tar.gz backupserver:/var/backups/
ssh: Could not resolve hostname archive_2017-03-01-09:54:02.tar.gz: Name or service not known
回避策:
> scp ./archive_2017-03-01-09:54:02.tar.gz backupserver:/var/backups/