Использование scp для копирования файла в экземпляр Amazon EC2?
Я пытаюсь использовать мой терминал Mac для scp файл из загрузки (phpMyAdmin я скачал онлайн) на мой экземпляр Amazon EC2.
команда, которую я использовал, была:
scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz [email protected]:~/.
ошибка, которую я получил:
предупреждение: идентификационный файл myAmazonKey.pem недоступен: нет такого файла или каталога.
Отказано в доступе (открытый ключ).
потерянное соединение
оба мои myAmazonkey.pem и phpMyAdmin-3.4.5-все языки.смола.gz находятся в загрузках, поэтому я попробовал
scp -i /Users/Hello_Kitty22/Downloads/myAmazonKey.pem /Users/Hello_Kitty22/Downloads/phpMyAdmin-3.4.5-all-languages.tar.gz [email protected]:~/.
и ошибка, которую я получил:
внимание: Identity file / User/Hello_Kitty22/Downloads / myAmazonkey.pem недоступен: нет такого файла или каталога.
Отказано в доступе (открытый ключ).
потерянное соединение
может кто-нибудь пожалуйста, скажите мне, как исправить мои проблемы?
p. s. есть похожий пост: scp (безопасная копия) в экземпляр ec2 без пароля
но это не ответ на мой вопрос.
12 ответов:
попробуйте указать пользователя
ec2-user, например,scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz [email protected]:~/.посмотреть подключение к экземплярам Linux / UNIX с помощью SSH.
второй каталог является вашим целевым назначением, не используйте имя сервера там. Другими словами, вам не нужно указывать имя машины для машины, в которой вы находитесь в данный момент.
scp -i /path/to/your/.pemkey -r /copy/from/path user@server:/copy/to/path-R, если это каталог.
ваш ключ не должен быть общедоступным для работы SSH. При необходимости используйте эту команду:
chmod 400 yourPublicKeyFile.pem
вы должны быть на вашей локальной машине, чтобы попробовать приведенную выше команду scp.
на локальном компьютере попробовать:
scp -i ~/Downloads/myAmazonKey.pem ~/Downloads/phpMyAdmin-3.4.5-all-languages.tar.gz [email protected]:~/.
У меня была точно такая же проблема, мое решение было
scp -i /path/pem -r /path/file/ ec2-user@public aws dns name:(оставить его пустым здесь)Как только вы закончите эту часть, войдите в ssh-сервер и MV-файл в нужное место
вот подробности того, что работает на EC2 например:
scp -i /path/to/whatever.pem /users/me/path-to-file [email protected]:~несколько замечаний для начала:
- обратите внимание на пробелы между тремя параметрами, приведенными после
-iscpрасшифровывается как протокол безопасного копирования. Знание слов облегчает запоминание команды.-iдиктует, что вам нужно дать.pemфайл в качестве следующего параметра. Если нет-i, чем вам не нужно а.pem.- Примечание
:~в конце назначения для экземпляра EC2.
scp -i ~/path to pem file/file.pem -r(for directory) /PATH OF LOCAL/localfile user@hostname:PATH OF SERVER/serverdirectory
Регистрация разрешения на .файл PEM...openssh обычно не любит читаемые в мире закрытые ключи и потерпит неудачу (iir, scp не делает большой работы по предоставлению этой обратной связи пользователю).
можете ли вы просто ssh с этим ключом к вашему хосту AWS?
сначала вы должны изменить режим
.pemфайл из режима чтения и записи в режим только для чтения. Это может быть сделано только с помощью одной команды в терминалеsudo chmod 400 your_public_key.pem
Я попробовал все предложения, упомянутые выше, и ничего не получалось. Я завершил текущий экземпляр, запустил другой и повторил тот же самый точный процесс. На этот раз без проблем. Иногда это может быть ошибка удаленной АМИ.
процесс использования SCP для копирования файлов с локального компьютера на экземпляр AWS EC2 Linux рассматривается шаг за шагом (включая пункты, упомянутые ниже) в видео.
чтобы исправить эту конкретную проблему с помощью SCP:
необходимо указать правильного пользователя Linux. От Амазонка:
- для Amazon Linux имя пользователя-ec2-user.
- для RHEL имя пользователя-ec2-user или корень.
- для Ubuntu имя пользователя-ubuntu или root.
- для Centos имя пользователя-centos.
- для Fedora имя пользователя-ec2-user.
- для SUSE имя пользователя-ec2-user или root.
- в противном случае, если ec2-user и root не работают, обратитесь к поставщику AMI.
ваш закрытый ключ не должен быть виден. Выполните следующую команду, чтобы только пользователь root мог прочитать файл.
chmod 400 /path/to/yourKeyFile.pem
Я хотел бы использовать:
scp -i "path to .pem file" "file to be copeide from local machine" username@amazoninstance: 'destination folder to copy file on remote machine'
Comments