ssh scp для копирования файла на порт удаленного сервера 21

22

Я пытаюсь скопировать файл с моего сервера на другой, поэтому я использую следующую команду:

scp root@myhost /home/direc/file.tar username@secondhost:/home/dir

Я получаю ошибку:

ssh: тайм-аут соединения с портом 22 второго хоста

Я знаю, что это может быть потому, что порт 22 не открыт на втором хосте

так как мне перенести указав порт 21 на моем втором хосте

user1613566
источник

Ответы:

33

Пытаться

scp -P 21 root@myhost /home/direc/file.tar username@secondhost:/home/dir

Где -P обозначает номер порта.

Амол Сэйл
источник
1
Я знаю это, но в нем указывается порт для первого хоста, с которого я хочу копировать файлы, а не второй хост. Поэтому я могу указать порт 21 для второго хоста
user1613566
4

Два недостатка я вижу в твоей попытке и ответе.

1) scp - утилита защищенной оболочки (ssh) для безопасного копирования файлов между хостами. Он использует ssh для передачи данных и использует ту же аутентификацию и обеспечивает ту же безопасность, что и ssh (см. Справочную страницу scp). По умолчанию ssh использует порт 22. Таким образом, если вы не изменили номер порта по умолчанию для ssh на целевом сервере на 21 или не установили и не запустили ssh-сервер (sshd) на принимающем сервере, вы не можете использовать scp для копирования файлы.

2) Правильная командная строка из вашего примера должна быть:

scp -P '*port running ssh on destination server*' /home/direc/file.tar username@remotehost:/home/dir

Первый root@myhostне является обязательным и фактически пытается скопировать файл с именем root@myhost(который, скорее всего, не существует) и file.tar на целевой сервер. Скорее всего, вы получите сообщение:

root@myhost: No such file or directory during the copy.
Тим
источник