Как подключиться к машине ec2?
Мне была предоставлена некоторая информация для входа в EC2-машину, в основном ec2-X-X-X.compute-X.amazonaws.com плюс имя пользователя и пароль.
Как мне получить доступ к машине? Я пробовал sshing:
ssh [email protected]
но я получаю Permission denied, please try again.
при вводе пароля. Правильно ли подходит для доступа к машине EC2? (Хиты Google, которые я нашел, предположили, что вы можете ssh войти в машину, но они также использовали keypairs.) Или, скорее всего, проблема в том, что мне были предоставлены недопустимые учетные данные?
Ответы
Ответ 1
Если вы новичок в AWS и вам нужно получить доступ к новому экземпляру EC2 через ssh, имейте в виду, что вам также необходимо разрешить входящий трафик на порт 22.
Предполагая, что экземпляр EC2 был создан, принимая все предложения мастера по умолчанию, доступ к машине будет защищен группой безопасности default
, которая в основном запрещает весь входящий трафик. Таким образом:
- Перейдите в консоль AWS
- Выберите
Security Groups
в левой навигационной панели
- Выберите
default
с главной панели (это может быть единственный элемент в списке)
- В нижней панели выберите
Inbound
, затем Create a new rule
: SSH
- Нажмите
Add rule
, а затем Apply Rule Changes
Затем, предположив, что у вас есть секретный ключ, выполните следующие действия:
$ chmod 600 path/to/mykey.pem
$ ssh -i path/to/mykey.pem [email protected]
Мой экземпляр EC2 был создан из 32-разрядного 12,0-битного изображения Ubuntu, конфигурация которого не позволяет ssh получить доступ к root, и попросит вас войти в систему как ubuntu
вместо:
$ ssh -i path/to/mykey.pem [email protected]
Cheers,
Giuseppe
Ответ 2
Наш Amazon AMI говорит: "Пожалуйста, войдите в систему как пользователь ec2-пользователя, а не пользователь root". Таким образом, похоже, что у каждого изображения может быть другой пользователь входа, например.
ssh -i ~/.ssh/mykey.pem [email protected]
Короче, попробуйте root, и он расскажет вам, с каким пользователем вы должны войти.
[Изменить] Я предполагаю, что у вас нет учетных данных консоли управления AWS для учетной записи, но если вы это сделаете, вы можете перейти к панели EC2- > Instances панели управления AWS, щелкнуть правой кнопкой мыши по машине имя и выберите "Подключиться..." Отобразится список доступных параметров для входа в систему. Вам (или должен) понадобиться ключ для доступа к экземпляру через ssh. Вам должно быть предоставлено это, иначе оно может быть сгенерировано.
Если это экземпляр Windows, вам может потребоваться подключение к удаленному рабочему столу для подключения с использованием имени IP или хоста, а затем вам также понадобятся логин и пароль учетной записи Windows.
Ответ 3
Процесс подключения к экземпляру AWS EC2 Linux через SSH рассматривается поэтапно (включая пункты, упомянутые ниже) в это видео.
Чтобы исправить эту проблему с помощью SSH-ing для вашего экземпляра EC2:
-
Выполненная вами команда ssh не в правильном формате. Это должно быть:
ssh -i /path/my-key-pair.pem [email protected]
-
Обратите внимание: вам нужен доступ к файлу закрытого ключа (.pem) для использования в команде выше. AWS предлагает загрузить этот файл при первом запуске вашего экземпляра. Вам нужно будет выполнить следующую команду, чтобы убедиться, что только ваш пользователь root имеет доступ для чтения:
chmod 400 /path/to/yourKeyFile.pem
-
В зависимости от вашего дистрибутива Linux пользователь, которого вы должны указать при запуске ssh, может быть одним из следующих:
- Для Amazon Linux имя пользователя ec2-user.
- Для RHEL имя пользователя - ec2-пользователь или root.
- Для Ubuntu имя пользователя ubuntu или root.
- Для Centos имя пользователя - centos.
- Для Fedora имя пользователя ec2-user.
- Для SUSE имя пользователя - ec2-пользователь или root.
- В противном случае, если ec2-пользователь и root не работают, обратитесь к поставщику AMI.
-
Вам нужно включить входящий брандмауэр SSH. Это можно сделать в разделе "Группы безопасности" AWS. Полную информацию по этой части можно найти здесь.
Ответ 4
Действительно, EC2 (Amazon Elastic Compute Cloud) по умолчанию не позволяет аутентификацию паролем своих экземпляров (Linux-машин).
Единственный разрешенный метод проверки подлинности - это ключ SSH, созданный при создании экземпляра. Во время создания они позволяют вам загружать SSH-ключ только один раз, поэтому, если вы его потеряете, вам необходимо его восстановить.
Этот ключ SSH предназначен только для основного пользователя - обычно называемого
- "
ec2-user
" (Amazon Linux, Red Hat Linux, SUSE Linux)
- "
root
" (Red Hat Linux, SUSE Linux)
- "
ubuntu
" (дистрибутив Ubuntu Linux)
- "
fedora
" (дистрибутив Fedora Linux)
или аналогичный (в зависимости от распределения)
См. инструкции по подключению: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html
Если вы хотите добавить нового пользователя, рекомендуется создать и добавить новый ключ SSH для нового пользователя, но не указывать пароль (что было бы бесполезно в любом случае, поскольку аутентификация по паролю не включена по умолчанию).
Управление дополнительными пользователями: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html
В конце концов, если вы хотите включить аутентификацию по паролю, что снижает безопасность и не рекомендуется, но все же вам может понадобиться сделать это по вашим собственным причинам, а затем просто отредактировать
/etc/ssh/sshd_config
Например: sudo vim/etc/ssh/sshd_config
найдите строку, которая гласит:
PasswordAuthentication no
и измените его на
PasswordAuthentication yes
Затем перезапустите экземпляр
sudo restart
После перезапуска вы можете создавать дополнительные пользователи с аутентификацией пароля.
sudo useradd newuser
sudo passwd newuser
Добавьте нового пользователя в список sudoers:
sudo usermod -a -G sudo newuser
Убедитесь, что домашняя папка пользователя существует и принадлежит пользователю.
sudo mkdir /home/newuser
sudo chown newuser:newuser /home/newuser
Новый, вы готовы попробовать и войти в систему с помощью newuser
через ssh.
Аутентификация с помощью ключей ssh будет продолжать работать параллельно с аутентификацией пароля.
Ответ 5
Для этого вам необходимо иметь закрытый ключ, например, keyname.pem.
Откройте терминал, используя Ctrl + Alt + T.
измените разрешение файла на 400 или 600, используя команду chmod 400 keyname.pem или chmod 600 keyname.pem
Откройте порт 22 в группе безопасности.
запустить команду на терминале ssh -i keyname.pem [email protected]c2-XXX.compute-X.amazonaws.com