Мне нравится идея доступа к серверам с помощью ключей, так что мне не нужно вводить пароль каждый раз, когда я вхожу ssh
в ящик, я даже блокирую root
пароль своего пользователя (не ) password ( passwd -l username
), поэтому невозможно войти без ключа.
Но все это ломается, если мне нужно ввести пароль для sudo
команд. Поэтому я испытываю желание установить пароль без паролей,sudo
чтобы он соответствовал логину без пароля.
Тем не менее, я продолжаю чувствовать, что это может иметь неприятные последствия для меня каким-то неожиданным образом, это просто кажется небезопасным. Есть ли какие-либо предостережения с такой настройкой? Вы бы порекомендовали / не рекомендовали делать это для учетной записи пользователя на сервере?
Разъяснения
- Я говорю об использовании
sudo
в интерактивной сессии пользователя здесь, а не для служб или административных сценариев - Я говорю об использовании облачного сервера (поэтому у меня нет физического локального доступа к машине, и я могу войти только удаленно)
- Я знаю, что у
sudo
него есть тайм-аут, в течение которого мне не нужно повторно вводить свой пароль. Но мой концерт на самом деле не о том, чтобы тратить дополнительное время на физический ввод пароля. Моя идея состояла в том, чтобы вообще не иметь дело с паролем, потому что я предполагаю, что:- Если мне нужно запомнить его, то, скорее всего, он слишком короткий, чтобы его можно было использовать или использовать повторно.
- Если я сгенерирую длинный и уникальный пароль для своей удаленной учетной записи, мне придется где-то хранить его (локальная программа управления паролями или облачный сервис) и извлекать его каждый раз, когда я захочу использовать
sudo
. Я надеялся, что смогу избежать этого.
Таким образом, с помощью этого вопроса я хотел лучше понять риски, предостережения и компромиссы одной возможной конфигурации над другими.
Продолжайте 1
Во всех ответах говорится, что отсутствие пароля sudo
небезопасно, поскольку допускает «легкое» повышение привилегий в случае взлома моей личной учетной записи. Я это понимаю. Но с другой стороны, если я использую пароль, мы несем все классические риски с паролями (слишком короткая или общая строка, повторяющаяся в разных службах и т. Д.). Но я предполагаю, что если я отключу аутентификацию по паролю, /etc/ssh/sshd_config
чтобы у вас все еще был ключ для входа в систему, я мог бы использовать более простой пароль только для того, sudo
чтобы его было легче вводить? Это правильная стратегия?
Продолжайте 2
Если у меня также есть ключ для входа в систему как root
через ssh, если кто-то получит доступ к моему компьютеру и украдет мои ключи (хотя они все еще защищены паролем для ключей ОС!), Они также могут получить прямой доступ к root
учетной записи. , минуя sudo
путь. Какой должна быть политика доступа к root
учетной записи?
/etc/passwd
например, nologin, не устанавливайте пароль, а затем установите без пароля в visudo. Если вы сделаете это, вы также должны убедиться, что параметр visudo предназначен только для того, что абсолютно необходимо этой системной учетной записи, т.е. заблокируйте его только для тех команд, которые он должен когда-либо выполнять.