Около года назад мы показывали как заменить ssh-сервер из комплекта OpenSSH на более лёгкий аналог из комплекта lsh в Debian/Ubuntu. Однако кроме lsh есть и другая легковесная реализация ssh - dropbear.
dropbear содержит ряд интересных особенностей: отличаясь малым размером бинарного фала dropbear имеет поддержку ключей из файлов ~/.ssh/authorized_keys для авторизации пользователей, проброс X11 и многое другое. С детальным списком особенностей можно ознакомиться на странице проекта dropbear. Далее будет показано как можно заменить OpenSSH на dropbear в Debian/Ubuntu.
Уточним детали: в статье мы рассматриваем Ubuntu Maverick (10.10) и Debian Squeeze (6.0). Для остальных дистрибутивов на основе Debian возможно понадобится корректировка инструкции.
Первым делом установим пакет dropbear:
apt-get install dropbear
После установки правим файл /etc/default/dropbear по своему вкусу. Особое внимание стоит уделить параметру DROPBEAR_EXTRA_ARGS. В частности чтобы запретить авторизацию суперпользователю (root) нужно добавить ключ -w:
DROPBEAR_EXTRA_ARGS="-w"
Детальное описание всех возможных аргументов можно найти в man-странице dropbear.
В Ubuntu кроме того по умолчанию запуск сервиса запрещён дополнительным параметров NO_START и чтобы сервис запустился нужно найти строку:
NO_START=1
И заменить её на:
NO_START=0
Теперь нужно остановить OpenSSH и запустить dropbear. ВНИМАНИЕ: если вы работаете по SSH и что-то пойдёт не так вы потеряете контроль над сервером, потому предусмотрите "чёрный ход" в виде запуска OpenSSH-севера из crontab через несколько минут (поможет если dropbear не поднимается) или обеспечьте себе физический доступ к серверу!
Останавливаем OpenSSH и запускаем dropbear:
initctl stop ssh && invokre-rc.d dropbear start
Чтобы в дальнейшем OpenSSH-сервер не запускался при старте системы есть два решения: либо удалить пакет opessh-server, либо создав файл /etc/ssh/sshd_not_to_be_run:
touch /etc/ssh/sshd_not_to_be_run
На этом всё. Приятной работы!
Anonymous 2011-03-10 01:49:55 (#)