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


22

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

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

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

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

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

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

Ответы:


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.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.