Ответ 1
Вызовите scp
с клиентской машины с рекурсивной опцией:
scp -r [email protected]:src_directory dst_directory
Я подключился к экземпляру Amazon linux из ssh с использованием закрытого ключа. Я пытаюсь скопировать всю папку из этого экземпляра на локальную машину linux.
Может ли кто-нибудь сказать мне правильную команду scp
для этого?
Или мне нужно что-то большее, чем scp
?
Обе машины - Ubuntu 10.04 LTS
Вызовите scp
с клиентской машины с рекурсивной опцией:
scp -r [email protected]:src_directory dst_directory
Другой способ сделать это:
scp -i "введите ключевой файл здесь" -r "вставьте экземпляр ec2 здесь" "ваш локальный каталог"
Одна ошибка, которую я сделал, была scp -ir. После этого ключ должен быть после -i и -r.
так
scp -i amazon.pem -r ec2-user @ec2 - ## - ## - ##:/source/dir/destination/dir
Вы даже можете использовать rsync.
rsync -aPSHiv remote:directory .
scp -i ~/Downloads/MyFirstKey.pem -r [email protected]:~/sid/ ~/Desktop/angularFile/
Я использую sshfs и монтирую удаленный каталог на локальный компьютер и делаю все, что вы хотите. Здесь - небольшое руководство, команды могут меняться в вашей системе
Мне не нравится использовать scp для большого количества файлов, так как это "транзакция" для каждого файла. Следующее намного лучше:
cd local_dir; ssh [email protected] 'cd remote_dir_parent; tar -c remote_dir' | tar -x
Вы можете добавить флаг z
в tar для сжатия на сервере и распаковать его на клиенте.