scp リモートA:ファイル リモートB:

scp リモートA:ファイル リモートB:

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コピーが行われるため、到達可能なホストを指定する必要があります。remoteAremoteB

これを回避するには、オプションを使用できます-3man 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/

関連情報