web-dev-qa-db-ja.com

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

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

やっています:

scp -r -P xxxx [email protected]:/home/myimages/images.tar.gz [email protected]:/home/myimages/images.tar.gz

しかし、次のエラーが発生します。

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

助言がありますか?

12
Lizard

最初のリモートホストから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はうまくいくかもしれません。

17
jhwist

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

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

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

3
Joss

.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
sameproblemIhad

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

ssh -P xxxx user@Host scp -P xxxx /file user@otherhost:/otherfile
3
sth