#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