Основная причина по которой я решил настроить доступ к консоли ssh сервера dropbear - это постоянный брут моего сервера (боты не дают покоя). Как только в логах прочно закрепился один IP из германии, который тщетно пытался подобрать пароль к моему роутеру в течении двух суток, терпению пришел конец и я решил выделить время и прекратить этот беспредел.
На ум пришло два выхода:
1. Хитро настроить Iptables, с бесжалстным баном всех надоедливых "китайцев".
2. Доступ по ключам.
Я выбрал второе - удобство в купе с безопастеостью.
Итак начнем. Нам понадобится роутер Asus wl 500gp с альтернативной прошивкой на борту (я использую прошивку ), сам dropbear, клиент putty, утилита для генерации ключей Puttygen, клиент winscp, пожалуй все, да и забыл - прямые руки и холодный рассудок :)
Подключаемся через Putty и создаем каталог с файлом публичного ключа для авторизации.
# mkdir /tmp/local/root/.ssh # touch /tmp/local/root/.ssh/authorized_keys # mcedit /tmp/local/root/.ssh/authorized_keys
С помощью Puttygen генерируем публичный и приватный ключи, публичный с помощью copy-paste вставляем в файл авторизованных ключей authorized_keys. Применяем настройки и перезагружаем роутер.
# flashfs save && flashfs commit && flashfs enable && rebootТеперь пробуем залогиниться с помощью приватного ключа. Настройки производим в клиенте Putty.
-Session:
Открывем Putty, во вкладке sessions указываем адрес сервера - IP или DNS имя.
-Connection → Data:
В поле "Login details" "Auto-login username" указываем наш логин под которым мы будем соединятся(admin,root, etc)
-Connection → SSH → Auth
Открываем файл с нашим приватным ключем для авторизации.
-Session
Вписываем имя нашей сессии и сохраняем (save).
Пробуем соединиться, если все прошло успешно, вводим парольную фразу, если указывали при генерации приватного ключа (рекомендую задать) либо автоматически подключаемся, если парольную фразу не задавали.
Теперь нужно изменить права доступа к файлу с публичным ключом и запретить серверу dropbear принимать соединения по логину и паролю.
# mcedit /usr/local/sbin/post-bootЗадаем параметр -s для отключения регистрации по логину и паролю:
dropbear -s -p 22
Изменяем права к файлу и папке:
# chmod 0700 /tmp/local/root/.ssh # chmod 0600 /tmp/local/root/.ssh/authorized_keys
Применяем настройки и перезагружаемся:
# flashfs save && flashfs commit && flashfs enable && rebootИсточники информации:
Чувак, не пробовал ssh порт сменить?
:-D
Смена порта лишь отчасти усложняет задачу, зачем усложнять возможность проникновения, если его можно полностью предотвратить?