scp z podanym numerem portu

Próbuję scp plik ze zdalnego serwera do mojej lokalnej maszyny. Dostępny jest tylko port 80.

Próbowałem:

scp -p 80 [email protected]:/root/file.txt .

Ale mam ten błąd: cp: 80: No such file or directory

Jak podać numer portu w Komendzie scp?

 593
Author: One Two Three, 2012-04-27

8 answers

W przeciwieństwie do ssh, scp używa przełącznika z dużymi literami P, aby ustawić port zamiast małych liter p:

scp -P 80 ... # Use port 80 to bypass the firewall, instead of the scp default

Przełącznik P z małymi literami jest używany z scp do zachowania czasów i trybów.

Oto fragment strony podręcznika SCP ze wszystkimi szczegółami dotyczącymi dwóch przełączników, a także wyjaśnienie, dlaczego dla scp wybrano wielkie litery P:

-p port określa port do podłączenia na zdalnym hoście. Zauważ, że ta opcja jest zapisana z dużej litery "P", bo -p jest już zarezerwowane dla zachowania czasów i trybów pliku w rcp(1).

-p zachowuje czas modyfikacji, czas dostępu i tryby z oryginalnego pliku.

 1084
Author: Michael Goldshteyn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-25 15:53:59

Jedna dodatkowa wskazówka. Umieść opcję '- P' po komendzie scp, bez względu na to, czy maszyna, na której ssh grasz, jest drugą (aka destination). Przykład:

scp -P 2222 /absolute_path/source-folder/some-file [email protected]:/absolute_path/destination-folder
 43
Author: Gooshan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-21 09:21:49

Wiesz, co jest fajniejsze od -P? nic

Jeśli używasz tego serwera więcej niż kilka razy, Ustaw/Utwórz plik ~/.ssh/config z wpisem w stylu:

Host www.myserver.com
    Port 80

Lub

Host myserver myserver80 short any.name.u.want yes_anything well-within-reason
    HostName www.myserver.com
    Port 80
    User username

Wtedy możesz użyć:

scp [email protected]:/root/file.txt .

Lub

scp short:/root/file.txt .

Możesz użyć wszystkiego w linii "Host" z ssh, scp, rsync, git i innymi

Istnieje wiele opcji konfiguracyjnych, których możesz użyć w plikach konfiguracyjnych, zobacz:

man ssh_config

 32
Author: Mike,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-22 16:27:35

Używam innych portów niż standardowe i kopiuję pliki między plikami w ten sposób:

scp -P 1234 user@[ip address or host name]:/var/www/mywebsite/dumps/* /var/www/myNewPathOnCurrentLocalMachine

Jest to tylko do okazjonalnego użytku, jeśli powtarza się na podstawie harmonogramu, powinieneś użyć rsync i cron job, aby to zrobić.

 24
Author: Marian Zburlea,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-06 14:42:23

Pomoc Scp mówi nam, że port jest określony wielkimi literami P.

~$ scp
usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[user@]host1:]file1 ... [[user@]host2:]file2
Mam nadzieję, że to pomoże.
 4
Author: thewall7,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-31 16:59:05

Kopiowanie pliku do hosta: scp SourceFile remoteuser@remotehost:/directory/TargetFile

Kopiowanie pliku z hosta: scp user@host:/directory/SourceFile TargetFile

Kopiowanie katalogu rekurencyjnie z hosta: scp -r user@host:/directory/SourceFolder TargetFolder

Notatka: Jeśli host używa portu innego niż port 22, możesz go określić za pomocą opcji-P: scp -P 2222 user@host:/directory/SourceFile TargetFile

 2
Author: AJ.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-25 21:42:22

Można to uzyskać poprzez podanie portu za pomocą przełącznika -P:

scp -i ~/keys/yourkey -P2222 file ubuntu@host:/directory/
 1
Author: Vaseem007,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-23 11:03:21

Jeśli potrzebujesz skopiować plik lokalny na serwer (podaj port)

scp -P 3838 /the/source/file [email protected]:/destination/file
 0
Author: Turan Zamanlı,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-12 12:18:43