scp с указанным номером порта



Я пытаюсь scp файл с удаленного сервера на локальную машину. Доступен только порт 80.



пробовал:



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


но получил эту ошибку: cp: 80: No such file or directory



Как указать номер порта в команде scp?

583   8  

8 ответов:

В отличие от ssh, scp использует верхний регистр P для установки порта вместо нижнего регистра p:

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

строчный переключатель p используется с scp для сохранения времени и режимов.

вот выдержка из справочной страницы scp со всеми деталями, касающимися двух переключателей, а также объяснение того, почему для scp был выбран верхний регистр P:

-P порт указывает порт для подключения к удаленному хосту. Обратите внимание, что этот параметр написано с большой буквы 'P', потому что-p уже есть зарезервировано для сохранения времени и режимов работы файла в rcp (1).

- p сохраняет время модификации, время доступа и режимы из исходного файла.

одна дополнительная подсказка. Поместите опцию '- P ' после команды scp, независимо от того, является ли машина, в которую вы входите ssh, второй (aka destination). Пример:

scp -P 2222 /absolute_path/source-folder/some-file [email protected]:/absolute_path/destination-folder

вы знаете, что круче, чем -P? ничего

если вы используете этот сервер более нескольких раз, установите / создайте ~/.ssh/config файл с записью типа:

Host www.myserver.com
    Port 80

или

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

затем вы можете использовать:

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

или

scp short:/root/file.txt .

вы можете использовать что-нибудь на линии "Хост" с ssh, scp, rsync, git & more

есть много вариантов конфигурации, которые можно использовать в файлах конфигурации, смотрите:

man ssh_config

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

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

Это только для случайного использования, если он повторяется на основе расписания вы должны использовать rsync и cron работу, чтобы сделать это.

справка scp сообщает нам, что порт указан в верхнем регистре 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

надеюсь, что это помогает.

копирование файла на хост: scp SourceFile remoteuser@remotehost:/directory/TargetFile

скопировать файл с хоста: scp user@host:/directory/SourceFile TargetFile

копирование каталога рекурсивно с хоста: scp -r user@host:/directory/SourceFolder TargetFolder

Примечание: если хост использует порт, отличный от порта 22, Вы можете указать его с помощью параметра-P: scp -P 2222 user@host:/directory/SourceFile TargetFile

Это может быть достигнуто путем указания порта через -P переключатель:

scp -i ~/keys/yourkey -P2222 file ubuntu@host:/directory/

Если вам нужно скопировать локальный файл на сервер (указать порт )

scp -P 3838 /the/source/file [email protected]:/destination/file

Comments

    Ничего не найдено.