Изменить конфигурационный файл службы ssh etc ssh sshd config отключив аутентификацию по паролю
Secure Shell (SSH) — это криптографический сетевой протокол, используемый для безопасного соединения между клиентом и сервером и поддерживающий различные механизмы аутентификации. Зашифрованное соединение можно использовать для выполнения команд на сервере, туннелирования X11, переадресации портов и т. Д.
Основанные на пароле и открытом ключе — два наиболее распространенных механизма аутентификации.
Аутентификация с использованием открытого ключа основана на использовании цифровых подписей, и она более безопасна и удобна, чем традиционная парольная аутентификация.
В этой статье описывается, как сгенерировать ключи SSH в системах Debian 10. Мы также покажем вам, как настроить аутентификацию на основе ключа SSH и подключиться к удаленным серверам Linux без ввода пароля.
Скопируйте открытый ключ на сервер
Теперь, когда у вас есть пара ключей SSH, следующий шаг — скопировать открытый ключ на сервер, которым вы хотите управлять.
Самый простой и рекомендуемый способ скопировать открытый ключ на удаленный сервер — использовать инструмент ssh-copy-id .
Выполните следующую команду на своем локальном компьютере:
Вам будет предложено ввести пароль remote_username :
После аутентификации пользователя содержимое файла открытого ключа ( ~/.ssh/id_rsa.pub ) будет добавлено к файлу удаленного пользователя ~/.ssh/authorized_keys , и соединение будет закрыто.
Если ssh-copy-id недоступна на вашем локальном компьютере, используйте следующую команду для копирования открытого ключа:
Войдите на сервер с помощью ключей SSH
На этом этапе вы должны иметь возможность войти на удаленный сервер без запроса пароля.
Чтобы проверить это, попробуйте подключиться к серверу по SSH:
Если вы не установили кодовую фразу, вы сразу же войдете в систему. В противном случае вам будет предложено ввести кодовую фразу.
Отключение аутентификации по паролю SSH
Чтобы добавить дополнительный уровень безопасности к вашему серверу, вы можете отключить аутентификацию по паролю для SSH.
Перед отключением парольной аутентификации SSH убедитесь, что вы можете войти на свой сервер без пароля, а пользователь, с которым вы входите, имеет права sudo.
В следующих руководствах описывается, как настроить доступ sudo:
Войдите на удаленный сервер с помощью ключей SSH, либо как пользователь с привилегиями sudo, либо как пользователь root:
Откройте файл конфигурации SSH /etc/ssh/sshd_config , найдите следующие директивы и измените их следующим образом:
Как только вы закончите, сохраните файл и перезапустите службу SSH.
На серверах Ubuntu или Debian выполните следующую команду:
На серверах CentOS или Fedora выполните следующую команду:
Отключение аутентификации по паролю SSH
Чтобы добавить дополнительный уровень безопасности к вашему серверу, вы можете отключить аутентификацию по паролю SSH.
Перед отключением аутентификации по паролю убедитесь, что вы можете войти на свой сервер без пароля, а пользователь, с которым вы входите, имеет права sudo .
Войдите на свой удаленный сервер:
Откройте файл конфигурации SSH-сервера /etc/ssh/sshd_config :
Найдите следующие директивы и измените их следующим образом:
После этого сохраните файл и перезапустите службу SSH:
На этом этапе аутентификация на основе пароля отключена.
Выводы
В этом руководстве вы узнали, как настроить аутентификацию на основе ключей SSH, позволяющую входить на удаленный сервер без ввода пароля пользователя. Вы можете добавить один и тот же ключ к нескольким удаленным серверам.
Мы также показали вам, как отключить аутентификацию по паролю SSH и добавить дополнительный уровень безопасности на ваш сервер.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Войдите на свой сервер с помощью ключей SSH
После выполнения описанных выше действий вы сможете войти на удаленный сервер без запроса пароля.
Чтобы проверить это, попробуйте войти на свой сервер через SSH :
Если вы не установили кодовую фразу для закрытого ключа, вы сразу же войдете в систему. В противном случае вам будет предложено ввести кодовую фразу.
Основные шаги для защиты SSH-сервера в Ubuntu 20.04:
Основные шаги по защите SSH-сервера в Ubuntu 20.04 следующие:
Шаг № 8: Ограничение количества попыток аутентификации:
Каждый раз, когда пользователь пытается получить доступ к серверу, и он не может аутентифицироваться в первый раз, он пытается сделать это снова. Пользователь продолжает предпринимать эти попытки до тех пор, пока он не сможет успешно аутентифицировать себя и, следовательно, получить доступ к серверу SSH. Это считается крайне небезопасной практикой, поскольку хакер может запустить атаку грубой силы (атака, которая многократно пытается угадать пароль, пока не будет найдено правильное совпадение). В результате он сможет получить доступ к вашему SSH-серверу.
Вот почему настоятельно рекомендуется ограничить количество попыток аутентификации, чтобы предотвратить атаки подбора пароля. Значение по умолчанию для попыток аутентификации на сервере SSH установлено на «6». Однако вы можете изменить его в зависимости от требуемого уровня безопасности. Для этого вам нужно найти переменные «MaxAuthTries», раскомментировать их и установить для них любое желаемое число. Мы хотели ограничить количество попыток аутентификации числом «3», как показано на изображении ниже:
Шаг № 5: Использование протокола SSH 2:
Сервер SSH может работать с двумя разными протоколами, т. е. Протоколом 1 и протоколом 2. Протокол 2 реализует более продвинутые функции безопасности, поэтому он предпочтительнее протокола 1. Однако протокол 1 является протоколом SSH по умолчанию, а не протоколом. явно упоминается в файле конфигурации SSH. Поэтому, если вы хотите работать с протоколом 2 вместо протокола 1, вам необходимо явно добавить строку «Protocol 2» в файл конфигурации SSH, как показано на следующем изображении:
Метод защиты SSH-сервера в Ubuntu 20.04:
Все конфигурации SSH хранятся в его файле /etc/ssh/sshd_config. Этот файл считается очень важным для нормального функционирования вашего SSH-сервера. Поэтому перед внесением каких-либо изменений в этот файл настоятельно рекомендуется создать резервную копию этого файла, выполнив следующую команду в своем терминале:
Если эта команда выполнена успешно, вы не увидите никаких результатов.
После создания резервной копии этого файла этот шаг является необязательным и выполняется, если вы хотите проверить все параметры, которые в данный момент включены в этом файле конфигурации. Вы можете проверить это, выполнив следующую команду в своем терминале:
Теперь вы можете начать защищать свой SSH-сервер, переходя от основных шагов к расширенным в Ubuntu 20.04.
Шаг № 2: Отключение аутентификации на основе пароля:
Вместо использования паролей для аутентификации ключи SSH считаются более безопасными. Поэтому, если вы сгенерировали ключи SSH для аутентификации, вы должны отключить аутентификацию на основе пароля. Для этого вам нужно найти переменную PasswordAuthentication, раскомментировать ее и установить для нее значение «нет», как показано на изображении, показанном ниже:
Используйте строгие политики паролей:
Если вы защитили свой SSH-сервер паролями, вы должны создать надежные политики паролей. В идеале пароли должны быть длиннее 8 символов. Их нужно менять через определенное время, скажем, каждые 2 месяца. Они не должны содержать словарных слов; скорее, они должны быть комбинацией алфавитов, цифр и специальных символов. Точно так же вы можете определить некоторые другие дополнительные строгие меры для своих политик паролей, чтобы убедиться, что они достаточно надежны.
Шаг № 4: Запрет входа в систему с правами root:
Вы должны строго запретить вход в систему с правами root для защиты любого злоумышленника от получения доступа root к вашему серверу. Вы можете сделать это, найдя переменную PermitRootLogin, раскомментируя ее и установив для нее значение «no», как показано на изображении ниже:
Выводы
Мы показали вам, как сгенерировать новую пару ключей SSH и настроить аутентификацию на основе ключей SSH. Вы можете использовать один и тот же ключ для управления несколькими удаленными серверами. Вы также узнали, как отключить аутентификацию по паролю SSH и добавить дополнительный уровень безопасности на свой сервер.
По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию снижает риск автоматических атак. Чтобы упростить рабочий процесс, используйте файл конфигурации SSH, чтобы определить все ваши SSH-соединения.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Добавить в избранное
Главное меню » Linux » Как отключить вход по SSH с паролем
Вы знаете, что вы можете использовать ssh с паролем root или другой учетной записи для удаленного входа на сервер Linux.
Но это создает угрозу безопасности, потому что огромное количество ботов всегда пытаются войти в вашу систему со случайными паролями. Это называется атакой грубой силы.
Вы мне не верите? Вы можете проверить логин на вашем сервере Linux. Вы будете удивлены, увидев так много неудачных попыток на вашем сервере.
Вот почему вы должны использовать надежный пароль. Правильный способ борьбы с ними – использовать такой инструмент, как fail2ban. Другой способ – отключить аутентификацию на основе пароля, чтобы никто не мог подключиться через пароль для входа.
Таким образом, только те системы, чьи открытые ssh-ключи добавлены на сервер (так называемая аутентификация на основе ключей), смогут подключаться к серверу. Читайте о настройке конфигурации SSH.
Шаг № 7: Разрешение определенным пользователям доступа к SSH-серверу:
Сервер SSH – это не сервер, доступ к которому требуется всем остальным пользователям. Поэтому доступ к нему должен быть ограничен только теми пользователями, которым он действительно нужен. Чтобы разрешить конкретным пользователям доступ к серверу SSH, вам нужно добавить переменную с именем «AllowUsers» в файл конфигурации SSH, а затем записать имена всех тех пользователей, которым вы хотите разрешить доступ к серверу SSH, через пробел. В нашем случае мы хотели разрешить доступ к SSH-серверу только одному пользователю.
Шаг № 3: Отклонение пустых паролей:
Иногда пользователям очень удобно создавать пустые пароли, чтобы не запоминать сложные пароли. Такая практика может нанести ущерб безопасности вашего SSH-сервера. Следовательно, вам необходимо отклонить все попытки аутентификации с пустыми паролями. Для этого вам нужно найти переменную PermitEmptyPasswords и просто раскомментировать ее, поскольку по умолчанию для нее уже установлено значение «нет», как показано на следующем изображении:
Создание ключей SSH в Debian
Скорее всего, у вас уже есть пара ключей SSH на вашем клиентском компьютере Debian. Если вы создаете новую пару ключей, старая будет перезаписана.
Выполните следующую команду ls чтобы проверить, существуют ли файлы ключей:
Если вывод команды, приведенной выше, содержит что-то вроде No such file or directory или no matches found , это означает, что у вас нет ключей SSH, и вы можете перейти к следующему шагу и сгенерировать новую пару ключей SSH.
В противном случае, если у вас есть пара ключей SSH, вы можете либо использовать их, либо сделать резервную копию старых ключей и сгенерировать новые.
Создайте новую 4096-битную пару ключей SSH с вашим адресом электронной почты в качестве комментария, введя следующую команду:
Результат будет выглядеть примерно так:
Нажмите Enter чтобы принять расположение и имя файла по умолчанию.
Затем вам будет предложено ввести безопасную парольную фразу. Если вы хотите использовать кодовую фразу, решать вам. Кодовая фраза добавляет дополнительный уровень безопасности.
Если вы не хотите использовать кодовую фразу, просто нажмите Enter .
В целом взаимодействие выглядит так:
Чтобы убедиться, что пара ключей SSH была сгенерирована, выполните следующую команду:
Команда выведет список ключевых файлов:
Расширенные действия по защите SSH-сервера в Ubuntu 20.04:
После выполнения всех основных шагов по защите SSH-сервера в Ubuntu 20.04 вы, наконец, можете перейти к расширенным шагам. Это всего лишь шаг вперед к защите вашего SSH-сервера. Однако, если вы намереваетесь достичь умеренного уровня безопасности, описанных выше шагов будет достаточно. Но если вы хотите пойти немного дальше, вы можете выполнить шаги, описанные ниже:
Заключение:
Позаботившись обо всех мерах, описанных в этой статье, вы можете легко защитить или укрепить свой SSH-сервер в Ubuntu 20.04. Однако, если у вас есть опыт работы в области информационной безопасности, вы должны хорошо осознавать тот факт, что нет ничего лучше 100% безопасности. Все, что мы можем получить, – это обещание о максимальном усилии, и это наилучшее усилие будет надежным только до тех пор, пока оно также не будет нарушено. Вот почему даже после принятия всех этих мер нельзя сказать, что ваш SSH-сервер на 100% безопасен; скорее, у него все еще могут быть такие уязвимости, о которых вы даже не могли бы подумать. О таких уязвимостях можно позаботиться, только если мы будем внимательно следить за нашим SSH-сервером и постоянно обновлять его, когда это необходимо.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Secure Shell (SSH) — это криптографический сетевой протокол, предназначенный для безопасного соединения между клиентом и сервером.
Двумя наиболее популярными механизмами аутентификации SSH являются аутентификация на основе пароля и аутентификация на основе открытого ключа. Использование ключей SSH обычно более безопасно и удобно, чем традиционная парольная аутентификация.
В этой статье описывается, как сгенерировать ключи SSH в системах CentOS 8. Мы также покажем вам, как настроить аутентификацию на основе ключа SSH и подключиться к удаленным серверам Linux без ввода пароля.
Шаг № 10: Перезагрузка SSH-сервера с новыми конфигурациями:
Теперь, когда сервер SSH успешно работал в тестовом режиме, нам нужно перезагрузить его, чтобы он мог прочитать новый файл конфигурации, то есть изменения, которые мы внесли в файл конфигурации SSH на шагах, показанных выше. Чтобы перезагрузить SSH-сервер с новыми конфигурациями, вам необходимо выполнить следующую команду в вашем терминале:
Если ваш SSH-сервер перезапущен успешно, терминал не будет отображать никаких выходных данных.
Шаг № 9: Запуск SSH-сервера в тестовом режиме:
К настоящему времени мы предприняли все основные шаги для защиты нашего SSH-сервера в Ubuntu 20.04. Однако нам по-прежнему необходимо убедиться, что только что настроенные параметры работают правильно. Для этого мы сначала сохраним и закроем наш файл конфигурации. После этого мы попробуем запустить наш SSH-сервер в тестовом режиме. Если он успешно работает в тестовом режиме, это будет означать, что в вашем файле конфигурации нет ошибок. Вы можете запустить свой SSH-сервер в тестовом режиме, выполнив следующую команду в своем терминале:
Держите свои данные в зашифрованном виде:
Данные, которые находятся на вашем SSH-сервере, а также тот, который остается в пути, должны быть зашифрованы, и это тоже с помощью надежного алгоритма шифрования. Это не только защитит целостность и конфиденциальность ваших данных, но также предотвратит нарушение безопасности всего вашего SSH-сервера.
Шаг № 6: Установка тайм-аута сеанса:
Иногда пользователи оставляют свои компьютеры без присмотра на очень долгое время. Между тем, любой злоумышленник может подойти и получить доступ к вашей системе, нарушив ее безопасность. Здесь в игру вступает концепция тайм-аута сеанса. Эта функция используется для выхода пользователя из системы, если он остается неактивным в течение длительного времени, чтобы ни один другой пользователь не мог получить доступ к его системе.
Этот тайм-аут можно установить, найдя переменную ClientAliveInterval, раскомментируя ее и присвоив ей любое значение (в секундах) по вашему выбору. В нашем случае мы присвоили ему значение «300 секунд» или «5 минут». Это означает, что если пользователь находится вдали от SSH-сервера в течение «300 секунд», он автоматически выйдет из системы, как показано на изображении ниже:
Шаг № 1: Открытие файла конфигурации SSH:
Вы можете открыть файл конфигурации SSH, выполнив в терминале команду, указанную ниже:
Скопируйте открытый ключ на сервер
Теперь, когда пара ключей SSH создана, следующим шагом будет копирование открытого ключа на сервер, которым вы хотите управлять.
Самый простой и рекомендуемый способ скопировать открытый ключ на удаленный сервер — использовать утилиту ssh-copy-id . На вашем локальном машинном терминале введите:
Команда попросит вас ввести пароль remote_username :
После аутентификации пользователя содержимое файла открытого ключа ( ~/.ssh/id_rsa.pub ) будет добавлено к файлу удаленного пользователя ~/.ssh/authorized_keys , и соединение будет закрыто.
Если ssh-copy-id недоступен на вашем локальном компьютере, используйте следующую команду для копирования открытого ключа:
Выводы
Мы показали вам, как сгенерировать новую пару ключей SSH и настроить аутентификацию на основе ключей SSH. Вы можете использовать один и тот же ключ для управления несколькими удаленными серверами. Вы также узнали, как отключить аутентификацию по паролю SSH и добавить дополнительный уровень безопасности на свой сервер.
По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию снижает риск автоматических атак. Чтобы упростить рабочий процесс, используйте файл конфигурации SSH, чтобы определить все ваши SSH-соединения.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Secure Shell (SSH) — это криптографический сетевой протокол, используемый для безопасного соединения между клиентом и сервером и поддерживающий различные механизмы аутентификации. Двумя наиболее популярными механизмами являются аутентификация на основе паролей и аутентификация на основе открытого ключа.
В этом руководстве мы покажем вам, как настроить аутентификацию на основе ключа SSH, а также как подключиться к вашему серверу Linux без ввода пароля.
Некоторые дополнительные советы по защите SSH-сервера в Ubuntu 20.04:
Помимо всех основных и дополнительных шагов, которые мы предприняли выше, есть также несколько дополнительных советов, которые могут оказаться очень полезными для защиты SSH-сервера в Ubuntu 20.04. Эти дополнительные советы обсуждаются ниже:
Мониторинг и ведение журналов аудита вашего SSH-сервера:
Если что-то пойдет не так с вашим SSH-сервером, вашим первым помощником могут стать журналы аудита. Поэтому вы должны поддерживать эти журналы, чтобы можно было отследить первопричину проблемы. Более того, если вы будете постоянно следить за состоянием и работой своего SSH-сервера, это также предотвратит возникновение каких-либо серьезных проблем.
Шаг №1: Открытие файла ~/.ssh/authorized_keys:
Основные шаги по обеспечению безопасности сервера SSH реализованы в файле конфигурации SSH. Это означает, что эти политики будут действовать для всех пользователей, которые попытаются получить доступ к серверу SSH. Это также подразумевает, что основные шаги представляют собой общий метод защиты SSH-сервера. Однако, если мы попытаемся рассмотреть принцип «глубокой защиты», мы поймем, что нам нужно защищать каждый отдельный ключ SSH отдельно. Это можно сделать, задав явные параметры безопасности для каждого отдельного ключа. Ключи SSH хранятся в файле ~/.ssh/authorized_keys, поэтому сначала мы получим доступ к этому файлу, чтобы изменить параметры безопасности. Мы запустим следующую команду в терминале, чтобы получить доступ к файлу ~/.ssh/authorized_keys:
Выполнение этой команды откроет указанный файл в редакторе nano. Однако вы также можете использовать любой другой текстовый редактор по вашему выбору, чтобы открыть этот файл. Этот файл будет содержать все ключи SSH, которые вы создали на данный момент.
Регулярно создавайте резервные копии ваших данных:
И последнее, но не менее важное: вы всегда должны хранить резервную копию всего вашего SSH-сервера. Это не только спасет ваши данные от повреждения или полной потери; скорее, вы также можете использовать этот резервный сервер, когда ваш основной сервер выходит из строя. Это также ограничит время простоя сервера и обеспечит его доступность.
Убедитесь, что SELinux включен:
SELinux – это механизм, который закладывает фундамент безопасности в системах на базе Linux. Он работает путем реализации обязательного контроля доступа (MAC). Он реализует эту модель управления доступом, определяя правила доступа в своей политике безопасности. Этот механизм включен по умолчанию. Однако пользователям разрешено изменять этот параметр в любое время. Это означает, что они могут отключить SELinux, когда захотят. Однако настоятельно рекомендуется всегда держать SELinux включенным, чтобы он мог защитить ваш SSH-сервер от всех возможных повреждений.
Создание ключей SSH в CentOS
Скорее всего, у вас уже есть пара ключей SSH на вашем клиентском компьютере CentOS. Если вы создаете новую пару ключей, старая будет перезаписана.
Выполните следующую команду ls чтобы проверить, существуют ли файлы ключей:
Если вывод команды возвращает что-то вроде No such file or directory или no matches found это означает, что у пользователя нет ключей SSH, и вы можете перейти к следующему шагу и сгенерировать пару ключей SSH.
В противном случае, если у вас есть пара ключей SSH, вы можете либо использовать их, либо сделать резервную копию старых ключей и сгенерировать новые.
Чтобы сгенерировать новую 4096-битную пару ключей SSH с вашим адресом электронной почты в качестве комментария, запустите:
Вам будет предложено указать имя файла:
Нажмите Enter чтобы принять расположение и имя файла по умолчанию.
Далее вас попросят ввести безопасную парольную фразу. Хотите ли вы использовать кодовую фразу, решать вам. Кодовая фраза добавит дополнительный уровень безопасности. Если вы не хотите использовать кодовую фразу, просто нажмите Enter .
В целом взаимодействие выглядит так:
Чтобы убедиться, что ваша новая пара ключей SSH создана, введите:
Вот и все. Вы успешно сгенерировали пару ключей SSH на своем клиентском компьютере CentOS.
Настройка SSH входа без пароля
Чтобы настроить SSH-вход без пароля в Linux, все, что вам нужно сделать, это сгенерировать открытый ключ аутентификации и добавить его в файл ~/.ssh/authorized_keys удаленных хостов.
Следующие шаги описывают процесс настройки входа по SSH без пароля:
Проверьте существующую пару ключей SSH.
Перед созданием новой пары ключей SSH сначала проверьте, есть ли у вас уже ключ SSH на вашем клиентском компьютере, потому что вы не хотите перезаписывать существующие ключи.
Выполните следующую команду ls, чтобы проверить наличие существующих ключей SSH:
Если есть существующие ключи, вы можете использовать их и пропустить следующий шаг или создать резервную копию старых ключей и сгенерировать новый.
Если вы видите No such file or directory или no matches found это означает, что у вас нет ключа SSH, и вы можете перейти к следующему шагу и сгенерировать новый.
Создайте новую пару ключей SSH.
Следующая команда сгенерирует новую пару ключей SSH 4096 бит с вашим адресом электронной почты в качестве комментария:
Нажмите Enter чтобы принять расположение и имя файла по умолчанию:
Затем инструмент ssh-keygen попросит вас ввести безопасную парольную фразу. Независимо от того, хотите ли вы использовать кодовую фразу, решать вам, если вы решите использовать кодовую фразу, вы получите дополнительный уровень безопасности. В большинстве случаев разработчики и системные администраторы используют SSH без парольной фразы, поскольку они полезны для полностью автоматизированных процессов. Если вы не хотите использовать кодовую фразу, просто нажмите Enter .
В целом взаимодействие выглядит так:
Чтобы убедиться, что ключи SSH сгенерированы, вы можете указать свои новые закрытые и открытые ключи с помощью:
Скопируйте открытый ключ
Теперь, когда вы сгенерировали пару ключей SSH, чтобы иметь возможность войти на свой сервер без пароля, вам необходимо скопировать открытый ключ на сервер, которым вы хотите управлять.
Самый простой способ скопировать ваш открытый ключ на сервер — использовать команду ssh-copy-id . На вашем локальном машинном терминале введите:
Вам будет предложено ввести пароль remote_username :
После аутентификации пользователя открытый ключ будет добавлен в файл authorized_keys удаленного пользователя, и соединение будет закрыто.
Если по какой-либо причине ssh-copy-id недоступна на вашем локальном компьютере, вы можете использовать следующую команду для копирования открытого ключа:
Войдите на свой сервер с помощью ключей SSH
После выполнения описанных выше действий вы сможете войти на удаленный сервер без запроса пароля.
Чтобы проверить это, просто попробуйте войти на свой сервер через SSH:
Если все прошло успешно, вы сразу же войдете в систему.
Держите свое программное обеспечение в актуальном состоянии:
Программное обеспечение, которое работает на вашем SSH-сервере, должно быть актуальным. Это сделано для того, чтобы в вашем программном обеспечении не осталось ошибок безопасности. Скорее они должны быть исправлены вовремя. Это убережет вас от любого потенциального вреда в долгосрочной перспективе, а также предотвратит отказ вашего сервера или его недоступность из-за проблем с безопасностью.
Отключение аутентификации по паролю SSH
Чтобы добавить дополнительный уровень безопасности к удаленному серверу, вы можете отключить аутентификацию по паролю SSH.
Прежде чем продолжить, убедитесь, что вы можете войти на свой сервер без пароля как пользователь с привилегиями sudo .
Выполните следующие действия, чтобы отключить аутентификацию по паролю SSH:
Войдите на свой удаленный сервер:
Откройте файл конфигурации SSH /etc/ssh/sshd_config текстовом редакторе :
Найдите следующие директивы и измените их следующим образом:
Когда вы закончите, сохраните файл и перезапустите службу SSH, набрав:
На этом этапе аутентификация на основе пароля отключена.
Отключить аутентификацию по паролю SSH
Прежде чем сделать это, вы должны помнить следующее:
- Обязательно создайте пару ключей ssh на своем персональном/рабочем компьютере и добавьте этот открытый ключ SSH на сервер, чтобы по крайней мере вы могли войти на сервер.
- Отключение аутентификации на основе пароля означает, что вы не можете подключиться к серверу ssh со случайных компьютеров.
- Вы не должны терять свои ключи SSH. Если вы отформатируете свой персональный компьютер и потеряете ssh-ключи, вы никогда не сможете получить доступ к серверу.
- Если вы заблокированы, вы никогда не сможете получить доступ к вашему серверу.
Некоторые поставщики облачных серверов предоставляют VNC-консоль, которая может вам помочь.
Отключайте аутентификацию SSH на основе пароля только в том случае, если вы знакомы с SSH и другими концепциями системного администратора. Вы также должны знать, как использовать текстовый редактор на основе терминала, такой как Vim или Nano.
Ладно. Итак, теперь вы знаете риски, связанные с отключением входа по SSH с помощью пароля. Посмотрим, как это сделать.
Войдите в систему как root на ваш сервер Linux, используя аутентификацию на основе ключей. Используйте редактор, такой как Nano или Vim, для редактирования следующего файла:
Найдите следующую строку:
И измените его на:
Сохраните файл после внесения этих изменений и перезапустите службу SSH с помощью этой команды:
Вот и все. Вы успешно отключили аутентификацию на основе пароля в SSH.
Вопросы и предложения всегда приветствуются.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Добавить в избранное
Главное меню » Linux » Как защитить SSH-сервер в Ubuntu 20.04 от базового до расширенного
К ак и все другие серверы, SSH-сервер также подвержен попыткам несанкционированного доступа. Поэтому всякий раз, когда вы хотите использовать SSH-сервер, вы должны сначала подумать о его защите, чтобы спастись от любых нежелательных ситуаций в долгосрочной перспективе. Обычно термин «защита сервера» также известен как «усиление защиты сервера». Это можно сделать, приняв несколько мер. Эти меры зависят от требуемого уровня безопасности.
Меры защиты SSH-сервера варьируются от базовых до расширенных, и, как мы уже говорили ранее, вы можете выбрать их в соответствии с нужным вам уровнем безопасности. Вы можете пропустить любую из предписанных мер, если у вас есть достаточные знания о последствиях и если вы в состоянии противостоять им. Кроме того, мы никогда не можем сказать, что один шаг обеспечит 100% безопасность или что один шаг лучше другого.
Все зависит от того, какой тип безопасности нам действительно нужен. Поэтому сегодня мы намерены дать вам очень глубокое представление об основных и дополнительных шагах для защиты SSH-сервера в Ubuntu 20.04. Помимо этих методов, мы также поделимся с вами некоторыми дополнительными советами по защите вашего SSH-сервера в качестве бонуса. Итак, давайте начнем с сегодняшнего интересного обсуждения.
Шаг № 2: Определение конкретных конфигураций для определенных ключей:
Для достижения повышенного уровня безопасности доступны следующие пять опций:
- no-agent-forwarding
- no-port-forwarding
- no-pty
- no-user-rc
- no-X11-forwarding
Эти параметры можно записать перед любым ключом SSH по вашему выбору, чтобы сделать их доступными для этого конкретного ключа. Для одного ключа SSH можно настроить даже несколько параметров. Например, вы хотите отключить переадресацию портов для любого конкретного ключа или, другими словами, вы хотите реализовать переадресацию без переадресации портов для определенного ключа, тогда синтаксис будет следующим:
Здесь вместо DesiredSSHKey у вас будет фактический SSH-ключ в вашем файле ~/.ssh/authorized_keys. После применения этих параметров для желаемых ключей SSH вам необходимо сохранить файл ~/.ssh/authorized_keys и закрыть его. Этот расширенный метод хорош тем, что вам не потребуется перезагружать SSH-сервер после внесения этих изменений. Скорее, эти изменения будут автоматически прочитаны вашим SSH-сервером.
Таким образом, вы сможете глубоко защитить каждый ключ SSH, применив передовые механизмы безопасности.
Читайте также: