ssh scp, aby skopiować plik na port zdalnego serwera 21

22

Próbuję skopiować plik z mojego serwera na inny, więc używam następującego polecenia:

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

Pojawia się błąd:

ssh: przekroczono limit czasu połączenia z hostem drugiego hosta portu 22

Wiem, że może tak być, ponieważ port 22 nie jest otwarty na drugim hoście

jak przenieść, określając port 21 na moim drugim hoście

użytkownik1613566
źródło

Odpowiedzi:

33

Próbować

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

Gdzie -P oznacza numer portu.

Sprzedaż Amol
źródło
1
Wiem o tym, ale określa port dla pierwszego hosta, z którego chcę skopiować pliki, a nie drugi host, więc określam port 21 dla drugiego hosta
1613566,
4

Dwie wady, które widzę w twojej próbie i odpowiedzi.

1) scp jest narzędziem bezpiecznej powłoki (ssh) do bezpiecznego kopiowania plików między hostami. Używa ssh do przesyłania danych i korzysta z tego samego uwierzytelnienia i zapewnia takie samo bezpieczeństwo jak ssh (patrz strona podręcznika scp). Domyślnie ssh używa portu 22. Tak więc, chyba że zmieniłeś domyślny numer portu ssh na serwerze docelowym na 21 lub nie zainstalowałeś i nie uruchomiłeś serwera ssh (sshd) na serwerze odbierającym, nie możesz użyć scp do kopiowania pliki.

2) Odpowiednia linia poleceń z twojego przykładu powinna brzmieć:

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

Pierwszy root@myhostnie jest konieczny i faktycznie spróbuje skopiować plik o nazwie root@myhost(najprawdopodobniej nie istnieje) i file.tar na serwer docelowy. Najprawdopodobniej otrzymasz wiadomość:

root@myhost: No such file or directory during the copy.
Tim
źródło