Я сломал SSH, используя chmod на экземпляре EC2. Как исправить?

Я сломал SSH, используя chmod на экземпляре EC2. Как исправить?

Я некоторое время использовал экземпляр Amazon EC2 и недавно случайно изменил разрешения/владение папками рекурсивно. Я больше не могу подключиться к экземпляру по SSH. Я не помню, какая именно команда была. Затем я восстановил базовый доступ, используя технику, представленную в ответе на этот вопрос:https://serverfault.com/questions/234061/re-gaining-root-access-to-an-ec2-ebs-boot-image

Однако я не знаю, что делать с шагом 3 («Изменить его»). Я не знаю, что именно изменять, и в своих попытках установить правильные разрешения я также потерял доступ к нескольким экземплярам восстановления EC2!

Для справки, я использую Win7 и Putty/WinSCP для подключения к экземпляру. Putty отображает следующие 2 ошибки, когда я пытаюсь войти в экземпляр через SSH:

Сервер отклонил наш ключ

Поддерживаемые методы аутентификации отсутствуют (сервер отправил: открытый ключ)

Я уверен, что использую правильное имя пользователя, IP-адрес и закрытый ключ для своего экземпляра.

Любая помощь приветствуется.

решение1

Решение,как описано в сообщении Server Fault, заключается в монтировании вашего EBS к другому (новому) экземпляру, к которому вы можете подключиться. EBS будет просто диском там, и вы сможете удаленно подключиться к экземпляру, поскольку он новый. Затем вы можете удалить sudo chownкаталоги, которые вы сломали в первую очередь.

  1. Остановите (НЕ завершайте) работу вашего первого экземпляра из консоли AWS

  2. Создайте новый экземпляр Linux из консоли AWS

  3. Отсоедините EBS от первого экземпляра и снова присоедините его к новому экземпляру.из консоли AWS. Дайте ему имя: /dev/sdm (В консоли EBS вы увидите, что подключенный том называется sdm, но сопоставлен с xvdm в Linux, поэтому он соответствует командам ниже. Но вы можете использовать другую букву и изменить следующие команды.)

  4. Подключитесь по SSH к новому экземпляру и выполните:

    sudo mkfs -t ext4 /dev/xvdm
    sudo mkdir /old-ebs
    # optional, in case this is a bit more permanent
    sudo echo "/dev/xvdm        /old-ebs     auto    noatime,noexec,nodiratime 0 0" >> /etc/fstab
    sudo mount /dev/xvdm /old-ebs
    
  5. Теперь у вас есть (sudo) доступ к вашему старому EBS, и вы можете получить доступ к chownнужному каталогу. Совет здесь, если вы запутались, будет скопировать права из нового экземпляра.

  6. После завершения работы вы можете остановить новый экземпляр, отсоединить от него EBS и снова подключить его к первому экземпляру, а затем запустить его.

Третья консольная команда выше, добавляющая смонтированный том, /etc/fstabчтобы он автоматически монтировался при каждой перезагрузке, является необязательной.

Связанный контент