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

Настройте Ubuntu, чтобы разрешить вход по ssh через открытый / закрытый ключ и sudo без пароля

Я настраиваю новый сервер Ubuntu 13.04. Я создал несколько пользователей и скопировал их открытые ключи для аутентификации ssh в их домашние папки. Вход по паролю будет отключен. Пока все работает нормально, но если я войду через закрытый ключ ssh +, я не смогу выполнить sudo. Мне нужно ввести пароль, но все пароли пусты.

Я нашел несколько советов, как изменить / etc / sudoers, а также множество предупреждений, чтобы не редактировать файл вручную. Итак, мой вопрос:

Вы действительно говорите о двух разных вещах. Настройка SSH для аутентификации только на основе ключей является частью конфигурации sshd, а sudo (без пароля или без) обрабатывается pam. Что вам действительно нужно делать, так это:

Настройте SSHD, чтобы разрешить только аутентификацию ключа SSH

Отредактируйте свой /etc/ssh/sshd_config при необходимости изменить и / или добавить следующие

PubkeyAuthentication yes
PasswordAuthentication no

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

Настройка sudo

Вы захотите выбрать свою группу sudo и изменить файл sudoers, используя visudo command и добавьте что-то вроде этого.

%wheel   ALL=(ALL)       ALL

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

Кроме того, вы можете настроить sudo так, чтобы он вообще не запрашивал пароль. Я не рекомендую это делать, за исключением автоматических действий, выполняемых учетными записями служб. В этой ситуации вы можете указать только учетная запись службы может выполнять только конкретная команда. Однако вы более чем способны отменить требование пароля sudo, изменив строку выше на что-то вроде:

%wheel  ALL=(ALL)  NOPASSWD: ALL

Почему пароли пустые? Вы можете отключить аутентификацию по паролю в SSH и сохранить пароли для входа в sudo. Чтобы отключить аутентификацию по паролю в SSH, отредактируйте / etc / ssh / sshd_config и активируйте PasswordAuthentication no

Обмен ключами намного безопаснее, чем пароль: вместо 5-10 символов нужно найти 2048 байтов ...