Я пытаюсь использовать терминал Mac для поиска файла из раздела «Загрузки» (phpMyAdmin, который я скачал онлайн) в свой экземпляр Amazon EC2.
Команда, которую я использовал, была:
scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz hk22@mec2-50-17-16-67.compute-1.amazonaws.com:~/.
Ошибка, которую я получил: Предупреждение: Идентификационный файл myAmazonKey.pem не доступен: Нет такого файла или каталога. В доступе отказано (publickey). потерянное соединение
Мои myAmazonkey.pem и phpMyAdmin-3.4.5-all-languages.tar.gz находятся в разделе «Загрузки», поэтому я попытался
scp -i /Users/Hello_Kitty22/Downloads/myAmazonKey.pem /Users/Hello_Kitty22/Downloads/phpMyAdmin-3.4.5-all-languages.tar.gz hk22@mec2-50-17-16-67.compute-1.amazonaws.com:~/.
и ошибка, которую я получил: Предупреждение: Идентификационный файл /User/Hello_Kitty22/Downloads/myAmazonkey.pem недоступен: такого файла или каталога нет. В доступе отказано (publickey). потерянное соединение
Может кто-нибудь сказать, пожалуйста, как исправить мою проблему?
PS есть похожий пост: scp (безопасное копирование) в ec2 без пароля, но он не отвечает на мой вопрос.
источник
Ответы:
Попробуйте указать пользователя
ec2-user
, например,См. Подключение к экземплярам Linux / UNIX с использованием SSH .
источник
:/
попробую скопировать папку в корень системы, что приведет к ошибкам разрешения на всех машинах без запуска sudo (или с правами root).второй каталог - ваш целевой пункт назначения, не используйте имя сервера там. Другими словами, вам не нужно указывать имя машины, на которой вы находитесь.
-r если это каталог.
источник
Ваш ключ не должен быть публично доступен для работы SSH. Используйте эту команду, если необходимо:
источник
Вы должны быть на своей локальной машине, чтобы попробовать приведенную выше команду scp.
На вашей локальной машине попробуйте:
источник
Вот детали того, что работает для экземпляра EC2 :
Несколько заметок для начала:
-i
scp
обозначает протокол защищенного копирования. Знание слов облегчает запоминание команды.-i
диктует, что вам нужно предоставить.pem
файл в качестве следующего параметра. Если нет-i
, то вам не нужно.pem
.:~
на конец пункта назначения для экземпляра EC2.источник
У меня была точно такая же проблема, мое решение было
scp -i /path/pem -r /path/file/ ec2-user@public aws dns name:
(оставьте это поле пустым)После того, как вы сделали эту часть, зайдите на ssh сервер и mv файл в нужное место
источник
источник
У меня ниже формат SCP работает
SampleFile.txt : это будет путь от вашего корневого каталога (в моем случае / home / ubuntu). в моем случае файл, который я хотел скачать, был в / var / www
SampleFile2.txt : Это будет путь к корневому пути вашей машины (в моем случае / home / MyPCUserName)
Итак, я должен написать ниже команду
источник
Отправить файл с локального на сервер:
Скачать файл с сервера на локальный:
источник
Процесс использования SCP для копирования файлов с локального компьютера к экземпляру AWS EC2 Linux покрывается шаг за шагом ( в том числе в точках , указанных ниже) в этом видео .
Чтобы исправить эту конкретную проблему с использованием SCP:
Вам необходимо указать правильного пользователя Linux. Из Амазонки :
Ваш закрытый ключ не должен быть публично видимым. Запустите следующую команду, чтобы только пользователь root мог прочитать файл.
источник
Проверьте права доступа к файлу .pem ... openssh обычно не любит общедоступные закрытые ключи и потерпит неудачу (iir, scp не делает большую работу по предоставлению этой обратной связи пользователю).
Можете ли вы просто использовать ssh с этим ключом для своего хоста AWS?
источник
Сначала вы должны изменить режим
.pem
файла с режима чтения и записи на режим только для чтения. Это можно сделать с помощью одной команды в терминале.sudo chmod 400 your_public_key.pem
источник
Я перепробовал все предложения, упомянутые выше, и ничего не получалось. Я остановил текущий экземпляр, запустил еще один и повторил тот же самый процесс. На этот раз без проблем. Иногда это может быть ошибка удаленной ами.
источник
Это просто сработало для меня. Я использовал комбинацию двух других ответов на этот вопрос.
"Ec2-user@ec2-11-111-11-11.compute-1.amazonaws.com" копируется и вставляется из общедоступного DNS вашего экземпляра ec2.
источник
Я хотел бы использовать:
scp -i "path to .pem file" "file to be copeide from local machine" username@amazoninstance: 'destination folder to copy file on remote machine'
источник