Назад | Перейти на главную страницу

Невозможно изменить пароль пользователя на AWS с помощью команды passwd

Я использую Amazon AWS insances под управлением CentOS. Я пытался создать пользователя с привилегией SUDO, а затем отключить вход в систему Root для защиты систем. Я уже сделал все необходимое, чтобы это стало возможным, но теперь я столкнулся с проблемой, которую не понял.

Когда я создал пользователя (скажем, ABC), я не устанавливал для него пароль. Вместо этого я использую ключи RSA для аутентификации.

Затем я использовал visudo команда и добавил ABC ALL=(ALL) ALL в конец файла, чтобы предоставить этому пользователю права sudo.

Затем я открыл /etc/ssh/sshd_config в vi и повернулся PermitRootLogin к no и перезапустите sshd. это отключить root-доступ.

Я ожидал, что это будет оно, то есть отключение входа в систему root и выполнение ABC всех необходимых административных задач. Но сейчас я сильно застрял.

Моя проблема - когда я вхожу в ABC и пытаюсь sudo любая команда запрашивает пароль пользователя. У этого пользователя нет пароля, но есть ключ RSA, который, я не думаю, можно использовать с SUDO.

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

$ passwd
Changing password for user kagzisa.
Changing password for kagzisa
(current) UNIX password:
passwd: Authentication token manipulation error

Я просто нажимаю клавишу ввода, когда он запрашивает текущий пароль, поскольку текущий пароль не указан.

Теперь я застрял, так как у меня отключен вход в систему Root, и я не могу выполнять какие-либо команды из ABC. Я не могу потерять эту систему, так как в ней запущены некоторые важные процессы.

Есть ли способ исправить это. Либо повторно активировав root, либо с помощью команд sudo?

Возможно, вам потребуется установить пакет pam_ssh_agent_auth (доступен для Centos 7), а затем использовать /etc/pam.d/sudo, чтобы принять его в качестве авторизации как ABC, если у вас есть разрешения. Наконец, вам может потребоваться добавить SSH_AUTH_SOCK в список среды переменные, которые сохраняются во время sudo.

Или используйте Nopassword, как рекомендовалось ранее. В противном случае поднимите новую машину, отсоедините ebs и прикрепите к новому ec2, если можно допустить простой

Прежде всего станьте root.

Как root вам не нужно знать пароль, чтобы его изменить:

# passwd kagzisa
Enter new UNIX password: 

Вероятно, вам следует использовать тег NOPASSWORD в visudo, чтобы он не запрашивал у вас пароль. ABC ALL = NOPASSWD: ALL