Подтвердить что ты не робот

SSH для AWS Экземпляр без пар ключей

1: Есть ли способ войти в экземпляр AWS без использования пар ключей? Я хочу создать пару сайтов/пользователей в одном экземпляре. Однако я не хочу выдавать пары ключей для входа в систему.

2: Какой самый простой способ настроить хостинг-сайты/пользователи в 1 экземпляре AWS с разными доменами, указывающими на отдельные каталоги?

4b9b3361

Ответ 1

1) Вы должны иметь возможность изменить конфигурацию ssh (на Ubuntu это обычно находится в /etc/ssh или /etc/sshd) и повторно активировать логины для входа в систему.

2) В этом нет ничего особенного AWS - Apache может обрабатывать VHOSTS (виртуальные хосты) из коробки, что позволяет указать, что определенный домен обслуживается из определенного каталога. Я бы Google, чтобы получить дополнительную информацию о специфике.

Ответ 2

Ответ на вопрос 1

Вот что я сделал на Ubuntu EC2:

A) Войдите в систему как root, используя пары ключей

B) Настройте необходимых пользователей и их пароли с помощью

# sudo adduser USERNAME
# sudo passwd USERNAME

C) Изменить настройку /etc/ssh/sshd_config

Для действительного пользователя, чтобы войти без ключа

PasswordAuthentication yes

Также хотите войти в систему root без ключа

PermitRootLogin yes

D) Перезапустите демон ssh с помощью

# sudo service ssh restart

просто измените ssh на sshd, если вы используете centOS

Теперь вы можете войти в свой экземпляр ec2 без пар ключей.

Ответ 3

Я пришел сюда через Google, ища ответ на то, как настроить cloud init, чтобы не отключать PasswordAuthentication на AWS. Оба ответа не затрагивают проблему. Без него, если вы создадите AMI, тогда в примере инициализация cloud init снова отключит эту опцию.

Правильный способ сделать это вместо того, чтобы вручную изменять sshd_config, вам нужно исправить параметр для облачного init (инструмент с открытым исходным кодом, используемый для настройки экземпляра во время подготовки. Подробнее читайте на странице https://cloudinit.readthedocs.org/en/latest/). Конфигурационный файл для cloud init находится по адресу:   /etc/cloud/cloud.cfg

Этот файл используется для настройки большой конфигурации, используемой облачным init. Прочтите этот файл для примеров элементов, которые вы можете настроить в cloud-init. Сюда входят такие элементы, как имя пользователя по умолчанию для вновь созданного экземпляра)

Чтобы включить или отключить вход в пароли через SSH, вам нужно изменить значение параметра ssh_pwauth. После изменения параметра ssh_pwauth от 0 до 1 в файле /etc/cloud/cloud.cfg испечь AMI. Если вы запустите этот недавно испеченный AMI, после инициализации будет включена аутентификация по паролю.

Вы можете подтвердить это, проверив значение PasswordAuthentication в конфигурации ssh, как указано в других ответах.

Ответ 4

su - root

Перейти к /etc/ssh/sshd_config

vi sshd_config

Аутентификация:

PermitRootLogin yes

Чтобы включить пустые пароли, измените на yes (НЕ РЕКОМЕНДУЕТСЯ)

PermitEmptyPasswords no

Выберите "Нет", чтобы отключить пароли в виде открытого текста.

PasswordAuthentication yes

: Х

Затем перезапустите службу ssh

[email protected]:/etc/ssh# service ssh restart
ssh stop/waiting
ssh start/running, process 10978

Теперь перейдите к файлам sudoers (/etc/sudoers).

Спецификация привилегий пользователя

root  ALL=(ALL)NOPASSWD:ALL
yourinstanceuser  ALL=(ALL)NOPASSWD:ALL    / This is the user by which you are launching instance.

Ответ 5

Недавно AWS добавил функцию под названием Sessions Manager в службу Systems Manager, которая позволяет SSH подключаться к экземпляру без необходимости устанавливать закрытый ключ или открывать порт 22. Я считаю, что аутентификация выполняется с помощью IAM и, возможно, MFA.

Вы можете узнать больше об этом здесь:

https://aws.amazon.com/blogs/aws/new-session-manager/

Ответ 6

AWS добавил новую функцию для подключения к экземпляру без открытого порта - AWS SSM Session Manager. https://aws.amazon.com/blogs/aws/new-session-manager/

Я создал аккуратный скрипт SSH ProxyCommand, который временно добавляет ваш открытый ключ ssh к целевому экземпляру во время соединения с целевым экземпляром. Приятно то, что вы подключаетесь без необходимости добавлять порт ssh (22) в свои группы безопасности, потому что соединение ssh туннелируется через менеджер сессий ssm.

AWS SSM SSH ProxyComand → https://gist.github.com/qoomon/fcf2c85194c55aee34b78ddcaa9e83a1