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

13

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

scp [email protected] /home/direc/file.tar [email protected]:/home/dir

Я получаю сообщение об ошибке:

ssh: подключение к хосту второго хоста 22 время ожидания соединения

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

Итак, как мне передать, указав порт 21 на моем втором хосте

    
задан user1613566 31.08.2012 в 06:21
источник

2 ответа

17

Попробуйте

scp -P 21 [email protected] /home/direc/file.tar [email protected]:/home/dir

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

ответ дан Amol Sale 31.08.2012 в 06:46
источник
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 [email protected]:/home/dir

Первый [email protected] не нужен и на самом деле попытается скопировать файл с именем [email protected] (который, скорее всего, не существует) и file.tar на целевой сервер. Вы, скорее всего, получите сообщение:

[email protected]: No such file or directory during the copy.
    
ответ дан Tim 06.01.2014 в 19:54