外部サーバーから別のサーバーへのSCP


12

ローカルサーバーでSCPを使用して、あるリモートサーバーから別のリモートサーバーにファイルをコピーしようとしています(両方のリモートサーバーがカスタムポート(xxxx)を使用しています)

やっています:

scp -r -P xxxx root@xxx.xxx.xxx.111:/home/myimages/images.tar.gz root@xxx.xxx.xxx.222:/home/myimages/images.tar.gz

しかし、次のエラーが表示されます。

ssh: connect to host xxx.xxx.xxx.222 port 22: Connection timed out

助言がありますか?


私はxxx.xxx.xxx.222に普通にsshできると思いますか?

ええ、私はすべてのサーバーからすべてのサーバーにsshすることができます
リザード

回答:


17

最初のリモートホストから2番目のリモートホストへの直接認証が機能することを確認しましたか?

scp user@host:/file user@otherhost:/otherfile の略記です

ssh user@host scp /file user@otherhost:/otherfile

それは私に考えることを促します:

ssh -p XXX user@host scp -P XXX /file user@otherhost:/otherfile 動作する可能性があります。


1
ええ、私は各サーバーから両方のすべてのサーバーにssh'dしました:(
リザード

良い点は、xxx.222が見えるからといって、xxx​​.111が見えるという意味ではありません。

それは良い点ですが、私はすでに他の提案を確認しましたか?
リザード

ssh、scpは必要なことを行います。
リザード

3

scp2番目のサーバーでも特別なポートを使用する必要があることを認識していないようです。明示的に呼び出しsshてリモートscp転送を開始することができます。

ssh -P xxxx user@host scp -P xxxx /file user@otherhost:/otherfile

3

でサーバーを定義します。.ssh/config file例:

Host foobar
User youruser
Port 2222
Hostname the.real.hostname

Host foobar2
User youruser
Port 2222
Hostname the2.real.hostname

その後、単に次の操作を実行できます。

scp foobar:file foobar2:

定義されたカスタムポートを使用します。


3

私はお互いを見ることができないリモートサーバーを持っていますが、私のローカルサーバーは両方を見ることができます。リモートサーバーのsshデーモンは、異なる非標準のsshポートでリッスンしています。これは私がこれを行う方法です:

ssh -p 111 userA@remote1 'cat myfile' | ssh -p 222 userB@remote2 'cat - > myfile'

2番目のsshコマンドは最初にパスワードを要求し、次にremote1はuserAのパスワードを要求します。私の環境ではそうではありませんが、ssh認証キーを設定している場合は、これを自動化できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.