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


22

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

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

Я отримую помилку:

ssh: підключення до хосту secondhost порта 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.