- Как отключить root-доступ по ssh в Debian 10 Buster
- Альтернативы для защиты вашего доступа по ssh
- Фильтрация порта ssh с помощью iptables
- Использование TCP-оболочек для фильтрации ssh
- Отключение службы ssh
- Статьи по Теме
Как отключить root-доступ по ssh в Debian 10 Buster
Чтобы отключить root-доступ по ssh, вам необходимо отредактировать файл конфигурации ssh, в Debian это / и т.д. / SSH / sshd_config
, чтобы отредактировать его с помощью текстового редактора nano:
На nano вы можете нажать CTRL + W (где) и введите PermitRoot чтобы найти следующую строку:
#PermitRootLogin запретить-пароль
Чтобы отключить root-доступ через ssh, просто раскомментируйте эту строку и замените запретить-пароль для нет как на следующем изображении.
После отключения рут-доступа нажмите CTRL + X а также Y сохранить и выйти.
В запретить-пароль опция предотвращает вход по паролю, разрешая вход только через резервные действия, такие как открытые ключи, предотвращая атаки грубой силы.
Альтернативы для защиты вашего доступа по ssh
Ограничить доступ к аутентификации с открытым ключом:
Чтобы отключить вход по паролю, разрешив вход только с помощью открытого ключа, откройте / и т.д. / SSH / ssh_config
файл конфигурации снова, запустив:
Чтобы отключить вход по паролю, разрешив вход только с помощью открытого ключа, откройте / и т.д. / SSH / ssh_config файл конфигурации снова, запустив:
нано / и т. д. / ssh / sshd_configНайдите строку, содержащую PubkeyAuthentication и убедитесь, что там написано да как в примере ниже:
Убедитесь, что аутентификация по паролю отключена, найдя строку, содержащую ПарольАутентификация, если прокомментировал, раскомментируйте его и убедитесь, что он установлен как нет как на следующем изображении:
Затем нажмите CTRL + X а также Y для сохранения и выхода из текстового редактора nano.
Теперь, как пользователю, которому вы хотите разрешить доступ по ssh, вам необходимо сгенерировать пары закрытого и открытого ключей. Запустить:
ssh-keygenОтветьте на последовательность вопросов, оставив первый ответ по умолчанию, нажав ENTER, установите парольную фразу, повторите ее, и ключи будут сохранены в ~ /.ssh / id_rsa
Создание пары открытого / закрытого ключей rsa.
Введите файл, в котором нужно сохранить ключ (/ root /.ssh / id_rsa):
Введите кодовую фразу (пусто, если кодовая фраза отсутствует):
Ваша идентификация сохранена в / root /.ssh / id_rsa.
Ваш открытый ключ был сохранен в / root /.ssh / id_rsa.паб.
Ключевой отпечаток пальца:
SHA256: 34 + uXVI4d3ik6ryOAtDKT6RaIFclVLyZUdRlJwfbVGo root @ linuxhint
Изображение ключа randomart:
+---[RSA 2048]----+
Для переноса только что созданных пар ключей вы можете использовать ssh-copy-id команда со следующим синтаксисом:
ssh-copy-idИзмените порт ssh по умолчанию:
Открой / и т.д. / SSH / ssh_config файл конфигурации снова, запустив:
нано / и т. д. / ssh / sshd_config
Допустим, вы хотите использовать порт 7645 вместо порта по умолчанию 22. Добавьте строку, как в примере ниже:
Затем нажмите CTRL + X а также Y сохранить и выйти.
Перезапустите службу ssh, запустив:
перезапуск службы sshd
Затем вы должны настроить iptables, чтобы разрешить связь через порт 7645:
iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 7645
Вместо этого вы также можете использовать UFW (несложный брандмауэр):
ufw разрешить 7645 / tcp
Фильтрация порта ssh
Вы также можете определить правила для принятия или отклонения ssh-соединений в соответствии с определенными параметрами. Следующий синтаксис показывает, как принимать ssh-соединения с определенного IP-адреса с помощью iptables:
iptables -A INPUT -p tcp --dport 22 --sourceiptables -A INPUT -p tcp --dport 22 -j DROP
Первая строка приведенного выше примера инструктирует iptables принимать входящие (INPUT) TCP-запросы на порт 22 с IP-адреса 192.168.1.2. Вторая строка указывает IP-таблицам сбросить все подключения к порту 22. Вы также можете отфильтровать источник по MAC-адресу, как в примере ниже:
iptables -I INPUT -p tcp --dport 22 -m mac ! --источник Mac 02: 42: df: a0: d3: 8f-j REJECT
В приведенном выше примере отклоняются все подключения, кроме устройства с MAC-адресом 02: 42: df: a0: d3: 8f.
Использование TCP-оболочек для фильтрации ssh
Другой способ внести IP-адреса в белый список для подключения через ssh, отклоняя остальные, - это отредактировать каталоги hosts.отрицать и хозяева.разрешить расположен в / etc.
Чтобы отклонить все хосты, выполните:
нано / и т.д. / хосты.отказываться от
Добавьте последнюю строку:
sshd: ВСЕ
Нажмите CTRL + X и Y, чтобы сохранить и выйти. Теперь, чтобы разрешить определенные хосты через ssh, отредактируйте файл / etc / hosts.разрешить, отредактировать его запустить:
нано / и т.д. / хосты.позволять
Добавьте строку, содержащую:
sshd:
Нажмите CTRL + X, чтобы сохранить и выйти из nano.
Отключение службы ssh
Многие домашние пользователи считают ssh бесполезным, если вы вообще не используете его, вы можете удалить его или заблокировать или отфильтровать порт.
В Debian Linux или системах на его основе, таких как Ubuntu, вы можете удалять службы с помощью диспетчера пакетов apt.
Чтобы удалить службу ssh, запустите:
Нажмите Y, если будет предложено завершить удаление.
И это все внутренние меры по обеспечению безопасности ssh.
Я надеюсь, что вы нашли это руководство полезным, продолжайте следить за LinuxHint, чтобы получить больше советов и руководств по Linux и сети.
Статьи по Теме:
- Как включить SSH-сервер в Ubuntu 18.04 LTS
- Включить SSH в Debian 10
- Перенаправление портов SSH в Linux
- Общие параметры конфигурации SSH Ubuntu
- Как и зачем менять порт SSH по умолчанию
- Настройка перенаправления SSH X11 в Debian 10
- Настройка, настройка и оптимизация SSH-сервера Arch Linux
- Iptables для начинающих
- Работа с брандмауэрами Debian (UFW)