Новое решение этой конкретной проблемы было представлено поддержкой AWS, и я был вынужден поделиться ею здесь, так как раньше не видел ее. В прошлом метод, который использовал большинство моих коллег, вращался вокруг остановки экземпляра, а затем монтирования тома EBS, подключенного к нему, к другому экземпляру EC2 в качестве дополнительного тома, а затем монтировал его и при необходимости редактировал.
Эти инструкции показывают, что традиционный метод:
Использование пользовательских данных
Этот новый метод для меня заключался в использовании #userdata
для последовательность команд для запуска в экземпляре EC2 при загрузке.
- Прежде чем начать, создайте снимок вашего тома (том ID: vol-XXXX), который подключен к EC2, который вы ' не в состоянии S SH в качестве меры предосторожности. Снимок - это по сути резервная копия вашего тома. Шаги для создания снимка можно найти в этой документации .
- Остановите свой экземпляр.
- В консоли выберите свой экземпляр, go для Действия → Экземпляр Настройки → Просмотр / изменение пользовательских данных
- Внутри пользовательских данных введите следующую информацию:
#cloud-config
bootcmd:
- [ chmod, 700, /home/centos ]
- [ chmod, 700, /home/centos/.ssh ]
- [ chmod, 600, /home/centos/.ssh/* ]
- [ chmod, 600, /etc/ssh/ssh_host_*_key ]
- [ chmod, 711, /var/empty/sshd ]
- [ chmod, 600, /home/centos/.ssh/authorized_keys ]
- [ sh, -c, "chown -R centos:centos /home/centos" ]
Запустите ваш экземпляр.
Как только экземпляр будет перезапущен, попытайтесь получить доступ к экземпляру через ssh
.
Примечания
- Приведенный выше скрипт пользовательских данных исправит любые проблемы с правами собственности и разрешениями в самом экземпляре.
- Если после использования вышеуказанного сценария пользовательских данных у вас все еще возникают проблемы, пожалуйста, дайте мне знать, и я перезвоню вам.
- Если предыдущая процедура сработала, повторите шаги 1–4 и удалите содержимое из поля «Данные пользователя», чтобы избежать повторения процедуры при каждой перезагрузке экземпляра.