Disable password authentication in ssh
in /etc/ssh/sshd_config and you saved the file, you have to restart your ssh server using the following command in terminal:
What is the difference between restarting ssh service and restarting sshd service? Why do we want to restart ssh instead of sshd?
@Hatshepsut: it’s an Ubuntu thing, and it’s damn annoying. On Red Hat based systems, it’s ‘service sshd’
Before disabling ssh password authentication please make sure your access with private key works as expected. Once confirmed, you can disable password authentication. I’d suggest following changes to secure the server even more.
Edit file with: sudo nano /etc/ssh/sshd_config
Please make sure you have following values enabled in the file:
PermitRootLogin no PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
Save file and then restart ssh service
sudo systemctl restart ssh
Edit: There is a question what these parameters do. Let’s go through them one by one. For the most current version you can alway go to manual page OpenSSH SSH daemon configuration file
1. PermitRootLogin
Specifies whether root can log in using ssh(1). The argument must be “yes”, “without-password”, “forced-commands-only”, or «no”. The default is “yes”. If this option is set to “without-password”, password authentication is disabled for root.
If this option is set to “forced-commands-only”, root login with public key authentication will be allowed, but only if the command option has been specified (which may be useful for taking remote backups even if root login is normally not allowed). All other authentication methods are disabled for root.
If this option is set to “no”, root is not allowed to log in.
Not permitting ‘Root login’ using password is considered stronger security than allowing it. That said, you should not be logging into root at all, unless no other method (sudo, etc.) will work.
2. PasswordAuthentication
Specifies whether password authentication is allowed. The default is “yes”.
This is basically it. If this is «no», you are not allowed to login using login and password but . you can bypass it with other options so please read on.
3. ChallengeResponseAuthentication
Specifies whether challenge-response authentication is allowed (e.g. via PAM). The default is “yes”.
UsePAM Enables the Pluggable Authentication Module interface. If set to “yes” this will enable PAM authentication using ChallengeResponseAuthentication and PasswordAuthentication in addition to PAM account and session module processing for all authentication types.
Because PAM challenge-response authentication usually serves an equivalent role to password authentication, you should disable either PasswordAuthentication or ChallengeResponseAuthentication. The default is “no”.
And in the end some info from Ubuntu manual linked above. The defaults may vary so if you want to secure your server, I’d recommend to use set those options mentioned at the top explicitly.
- ChallengeResponseAuthentication no
- X11Forwarding yes
- PrintMotd no
- AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server
- UsePAM yes
Команда sudo без пароля Linux
Утилита sudo — позволяет выполнять команды с правами суперпользователя обычному пользователю. Для защиты программа каждый раз спрашивает пароль. Это вполне оправданно, так как с помощью пароля система может проверить, что это действительно пользователь, а не программа, которая просто хочет что-то нашкодить в системе, а также убедится что это именно тот пользователь за которого он себя выдает.
Но пароль можно отключить. Я не рекомендую этого делать, но способ есть и в этой статье мы рассмотрим как пользоваться sudo без пароля в Ubuntu.
Команда sudo без пароля в Linux
Чтобы отключить пароль sudo, надо добавить к строчке настройки пользователя или группы директиву NOPASSWD. Синтаксис такой:
имя_пользователя ALL=(ALL) NOPASSWD: ALL
Для того чтобы отключить пароль sudo для определенного пользователя нужно открыть файл конфигурации sudo и отключить запрос пароля следующей строчкой, например для пользователя losst:
losst ALL=(ALL) NOPASSWD: ALL
Сохраните изменения и закройте файл, на всякий случай напомню что в vi для перехода в режим вставки используется клавиша i, для сохранения команда :w и команда :q для выхода. Теперь sudo не будет запрашивать пароль у выбранного пользователя при выполнении любых команд.
Для того чтобы разрешить пользователю выполнять только некоторые команды без пароля (например apt и reboot) добавьте следующую строчку:
losst ALL=(ALL) NOPASSWD: /usr/bin/apt, /sbin/reboot
Чтобы отключить пароль для группы пользователей используйте следующий код:
%имя_группы ALL=(ALL) NOPASSWD: ALL
Теперь у пользователей группы имя_группы утилита sudo не будет спрашивать пароль, а у всех остальных будет. Чтобы более детально ознакомится с возможностями sudo смотрите статью про настройку sudo в Linux.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
compizomania
Ubuntu изначально позиционируется, как многопользовательская операционная система, т.е. она может быть установлена в различных организациях и офисах, на предприятиях и, конечно, домашних компьютерах, как стационарных, так и портативных.
Во время установки системы, на одном из шагов необходимо в обязательном порядке ввести имя пользователя и пароль, что каждый пользователь должен сделать, иначе дальше в установке не продвинуться, чтобы закончить. Другого выбора установщик не даёт и приходится мириться:
Но выбор есть в другом в этом же окне, а именно вход в систему, где пользователю дано право активировать: Требовать пароль для входа в систему, либо Входить в систему автоматически. Я всегда выбираю автоматический вход, т.к. компьютером пользуюсь один и не вижу необходимости в лишнем вводе пароля или как сейчас модно говорить, в лишних телодвижениях.
Мой стаж работы в Linux более пяти лет и всё это время меня волновал вопрос ввода пароля пользователем, который является единоличным владельцем компьютера. Если я пользуюсь компьютером один, о какой безопасности в данном случае может идти речь?
Я много за эти пять лет прочитал всевозможных статей на тему безопасности работы в Linux и ни где не нашёл вразумительного объяснения, зачем нужно вводить пароль пользователю, который является и администратором в том числе, а также владеет компьютером единолично? Поэтому где это возможно я отключил ввод пароля:
1. Автоматический вход во время инициализации системы.
2. Отменил запрос пароля при выполнении команды sudo в терминале.
3. Автоматический вход после завершения сеанса
Для меня до сегодняшнего дня оставался один нерешённый вопрос, отключения пароля при Завершении актуальной сессии и нового входа в систему. И хотя в параметрах выставлен Автоматический вход, но отменил он только ввод логина, а пароль всё-равно нужно вводить при каждом входе:
Казалось бы не логично, при включении компьютера или перезагрузке не нужно вводить пароль, а при завершении сеанса и нового входа — да. И где его отключить, нет ни кнопки, ни видимой функции, ни одного пункта в Редакторе dconf. Но мои поиски всё-таки увенчались успехом. Оказалось разработчики Ubuntu засунули его глубоко под капот, а капот замуровали «Демоны», да так, что и щелочки не видно, чтобы залезть под него.
Чтобы отменить пароль в окне входа в систему, нужно открыть Параметры системы — Учётные записи, в правом верхнем углу окна нажать кнопку Разблокировать, ввести пароль, а затем подвести указатель к паролю и мы должны увидеть наконец заветную кнопку. Кликаем на ней, откроется новое окно Изменение пароля для. , где в параметре Действие нужно выбрать Войти в систему без пароля и Изменить:
После чего мы видим в параметре Пароль — Нет:
Закрываем все приложения, выходим из текущего сеанса и видим в окне входа в систему, что не нужно вводить ни логин, ни пароль:
Для входа в систему достаточно кликнуть на стрелке Войти, либо просто нажать клавишу Ввод (Enter).
Казалось бы «враг» повержен, но не тут-то было. Пароль таким образом отключается, но он отключается и в окне ввода пароля на открытие приложения с правами администратора, например, Synaptic и мы не сможем открыть его:
Возвращаемся вновь к окну Учётные записи и вводим опять свой пароль в окне Изменение пароля для, т.е. всё ставим на свои места, за исключением, оставляем Войти в систему без пароля:
Казалось бы не логично, но теперь ввод пароля в окне аутентификации для открытия Synaptic работает, а самое главное пароль для окна входа в систему не отображается больше. Чего я и добивался.
Заключение. Я уверен, что после прочтения данной статьи в меня «полетят ботинки» в комментариях. Только очень прошу, когда будете комментировать с ботинком в руке, обоснуйте доказательно, желательно с ссылками на компетентные источники, для чего ОБЯЗАТЕЛЬНО нужен пароль единоличному пользователю компьютером.