11

Я пытаюсь использовать 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

Какие-либо предложения?

4 ответа4

16

Вы проверили, что прямая аутентификация работает с первого удаленного хоста на второй?

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 может работать.

3

У меня есть удаленные серверы, которые не могут видеть друг друга, но мой локальный сервер может видеть оба. Демон ssh на удаленных серверах прослушивает разные нестандартные порты ssh. Вот как я это сделал:

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

Вторая команда ssh сначала запрашивает пароль, затем remote1 запрашивает пароль для пользователя A. Это может быть автоматизировано, если вы настроили авторизованные ключи ssh, что не так в моей среде.

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

Кажется, что scp не понимает, что специальный порт должен также использоваться на втором сервере. Вы можете попробовать явно вызвать ssh для запуска удаленной передачи scp :

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .