Ошибка при загрузке файла с сервера с использованием scp

#linux #unix #command-line #scp

#linux #unix #командная строка #scp

Вопрос:

Я хочу загрузить некоторые файлы и каталог с сервера с помощью scp .

 scp -p 3031 root@serverIP -D 1080:/dir_path/. /local_path/
 

Но с помощью этой команды я получаю некоторую ошибку:

cp: невозможно указать ‘3031’: нет такого файла или каталога

cp: не удается указать ‘root @serverIP’: нет такого файла или каталога

cp: невозможно указать ‘-D’: нет такого файла или каталога

ssh: подключение к хосту 1080 порт 22: недопустимый аргумент

Кто-нибудь может мне помочь, пожалуйста?

Ответ №1:

Переключатели имеют свое значение, и их порядок имеет значение. Правильный путь (при условии, что вы хотите загрузить file ) будет:

 scp -P 3031 root@serverIP:/dir_path/file /local_path/
 

Краткое описание на странице руководства для scp should be your friend:

КРАТКИЙ ОБЗОР

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

Ответ №2:

Аргумент порта должен быть передан с помощью -P, а не -p

Попробуй это

 scp -p root@serverIP:/dir_path/ /local_path/ -P 3031
 

-p предназначен для сохранения времени и режимов изменения и доступа к исходному файлу

Если у вас есть ssh-ключ, попробуйте это

 scp -i path/to/file.pem -p root@serverIP:/dir_path/ /local_path/ -P 3031