В этой статье объясняется, как отключить вход в систему в Linux при подключении через ssh.
Прочитав эту статью, вы узнаете, как отключить вход по паролю ssh, включив вместо этого аутентификацию по ключу , что повысит безопасность вашей системы.
Отключение входа с паролем ssh:
Раздел этого руководства о ssh посвящен конфигурационному файлу /etc/ssh/sshd_config, который, как и любой другой системный файл конфигурации, должен редактироваться с правами суперпользователя.
Откройте файл /etc/ssh/sshd_config с правами root. Приведенную ниже команду можно использовать для открытия sshd_config с помощью текстового редактора nano.
sudo nano /etc/ssh/sshd_config
Прокрутите файл вниз и найдите строку, содержащую «PasswordAuthentication yes», показанную на снимке экрана ниже. Вы можете использовать комбинацию клавиш nano CTRL + W (где) для поиска строки, содержащей «PasswordAuthentication».
Отредактируйте строку, оставив ее, как показано на скриншоте ниже, заменив да на нет.
PasswordAuthentication no
Теперь ваш логин с паролем ssh настроен на отключение после сохранения файла и перезапуска службы ssh. Вы можете выйти из настройки сохранения файла издание, нажав сочетание клавиш CTRL + X.
Чтобы перезапустить службу ssh и применить изменения, выполните следующую команду.
sudo systemctl restart ssh
Теперь аутентификация по паролю отключена для входящих ssh-соединений.
Включение аутентификации по ключу ssh:
Ключ аутентификации отличается от метода аутентификации по паролю. В зависимости от среды он имеет преимущества и недостатки по сравнению с методом входа по паролю по умолчанию.
При использовании аутентификации с помощью ключа мы говорим о методе, включающем два разных ключа: открытый ключ и закрытый ключ. В этом случае открытый ключ хранится на сервере, принимающем вход в систему; этот открытый ключ можно расшифровать только с помощью закрытого ключа, хранящегося на устройствах, которым разрешено подключаться через ssh (клиенты).
И открытый, и закрытый ключи генерируются одновременно одним и тем же устройством. В этой статье как открытый, так и закрытый ключи генерируются клиентом, а открытый ключ используется совместно с сервером. Прежде чем начать с раздела этого руководства, давайте подсчитаем преимущества аутентификации с помощью ключа по сравнению с входом в систему с паролем по умолчанию.
Ключевые преимущества аутентификации:
- Надежный сгенерированный ключ по умолчанию, более надежный, чем большинство используемых паролей, созданных человеком
- Закрытый ключ остается в клиенте; в отличие от паролей, его нельзя обнюхать
- Подключаться могут только устройства, хранящие закрытый ключ (это тоже можно считать недостатком)
Преимущества пароля перед аутентификацией по ключу:
- Вы можете подключиться с любого устройства без приватного ключа
- Если к устройству осуществляется локальный доступ, пароль не сохраняется для взлома.
- Легче распространять при разрешении доступа к нескольким учетным записям
Чтобы сгенерировать открытый и закрытый ключи, войдите в систему как пользователь, которому вы хотите предоставить доступ по ssh, и сгенерируйте ключи, выполнив команду ниже.
После запуска ssh-keygen вам будет предложено ввести парольную фразу для шифрования вашего закрытого ключа. Большинство устройств, доступных по ssh, не имеют кодовой фразы; вы можете оставить его пустым или ввести парольную фразу, зашифровывающую ваш закрытый ключ, если он просочился.
Как видно на скриншоте выше, закрытый ключ по умолчанию сохраняется в файле ~/.ssh/id_rsa, который находится в домашнем каталоге пользователя при создании ключей. Открытый ключ хранится в файле ~/.ssh/id_rsa.pub, расположенном в том же каталоге пользователя.
Передача или копирование открытого ключа на сервер:
Теперь у вас есть как открытый, так и закрытый ключи на вашем клиентском устройстве, и вам необходимо передать открытый ключ на сервер, к которому вы хотите подключиться, с помощью аутентификации ключа.
Вы можете скопировать файл любым удобным для вас способом; в этой статье показано, как использовать команду ssh-copy-id для этого.
После создания ключей выполните команду ниже, заменив andreyex своим именем пользователя и 192.168.1.103 IP-адресом вашего сервера, это скопирует сгенерированный открытый ключ в каталог пользователя сервера ~/.ssh. Вам будет предложено ввести пароль пользователя для сохранения открытого ключа, введите его и нажмите ENTER.
ssh-copy-id andreyex@192.168.1.103
После копирования открытого ключа вы можете подключиться к своему серверу без пароля, выполнив следующую команду (замените имя пользователя и пароль на свои).
ssh andreyex@192.168.1.103
Удаление службы ssh:
Возможно, вы хотите вообще удалить ssh; в таком случае удаление службы было бы вариантом.
Чтобы удалить службу ssh, вы можете выполнить следующую команду:
sudo apt remove ssh
Если вы хотите удалить службу ssh, включая файлы конфигурации, запустите:
sudo apt purge ssh
Вы можете переустановить службу ssh, запустив:
sudo apt install ssh
Теперь ваш ssh-сервис вернулся. Другие методы защиты доступа к ssh могут включать изменение порта ssh по умолчанию, реализацию правил брандмауэра для фильтрации порта ssh и использование оболочек TCP для фильтрации клиентов.
Вывод:
В зависимости от вашей физической среды и других факторов, таких как ваша политика безопасности, метод аутентификации с использованием ключа ssh может быть рекомендован вместо входа в систему с паролем. Поскольку пароль не отправляется на сервер для аутентификации, этот метод более безопасен перед атаками Man in the Middle или сниффинг-атаками; это также отличный способ предотвратить атаки методом перебора ssh . Основная проблема аутентификации ключа заключается в том, что устройство должно хранить закрытый ключ; это может быть неудобно, если вам нужно войти в систему с новых устройств. С другой стороны, это можно рассматривать как преимущество в безопасности.
Кроме того, администраторы могут использовать TCP-оболочки, iptables или правила UFW для определения разрешенных или запрещенных клиентов и изменения порта ssh по умолчанию.
Некоторые системные администраторы по-прежнему предпочитают аутентификацию по паролю, потому что ее быстрее создавать и распределять между несколькими пользователями.
Пользователи, которые никогда не получают доступ к системе через ssh, могут удалить эту и все неиспользуемые службы.
Мы надеемся, что эта статья, показывающее, как отключить вход по паролю в Linux, было полезным. Следуйте подсказкам Linux, чтобы получить больше советов и руководств по Linux.