SSH server — настройка OpenSSH и Dropbear

загрузка...

В Ubuntu есть разные способы, как создать SSH server. Цель создания сервера по защищенному протоколу может быть самой разнообразной: от потребности управлять компьютером удаленно до надобности манипулировать содержимым сайта, размещенным на мастерхосте. Неважно, какую именно цель преследуете вы, пускай даже это простое любопытство, важно, что в данной статье будут разобраны два метода создания сервера SSH — через популярное приложение OpenSSH и его аналог Dropbear.

How-to-install-ssh-in-Ubuntu-step7

Почему именно SSH и OpenSSH

В целом, вы не обязаны использовать конкретно протокол SSH. Есть и другие типы протоколов. Например, ранее был популярен Telnet и похожий на него протокол RCP. Но в последнее время взламывать сервера через такие протоколы стало слишком просто для хакеров и это превратилось в серьезную проблему для пользователей. Нужно было срочно найти альтернативу. И ею стала вторая версия протокола SSH — это защищенное соединение, по которому все данные проходят тщательную шифровку, прежде чем дойти от клиента к серверу. Таким образом, злоумышленники не сумеют украсть пароли, даже если они им попали в руки — это будет нелепый набор символов, который без дешифратора не имеет никакой пользы.

Чтобы создать SSH server, многие выбирают именно OpenSSH. А все потому, что это приложение распространяется бесплатно и его можно установить прямо с терминала при помощи определенной строки. Вы сможете создать реально защищенный сервер с полным набором функций для удобства работы.

OpenSSH прекрасно работает с различными типами клиентов, будь то ssh или scp. Вы сможете настроить такую аутентификацию, которая подходит конкретно под ваш проект: пароль, ключ и даже билеты Kerberos.

Про типы аутентификации еще будет сказано далее в статье.

Как создать и настроить сервер при помощи OpenSSH

загрузка...

Для начала необходимо инсталлировать на компьютер с операционной системой Ubuntu приложение OpenSSH для создания сервера. Сделать это предельно просто — нужно вызвать терминал через верхнее меню и в нем ввести простую строку для начала установки: sudo apt-get install openssh-server. На случай, если вы настраиваете и сервер и клиент для создания удаленного доступа к компьютеру (например, чтобы сидя на работе вы смогли управлять домашним ПК), тогда вот строка для инсталляции клиентского приложения: sudo apt-get install openssh-client.

После того, как ввели строку для вызова инсталляции, терминал попросит вас ввести пароль администратора Ubuntu. Сделайте это, после чего система оповестит вас об успешной установке. Далее вам предстоит настроить сервер при помощи добавленного на компьютер приложения. Настройка в целом проходит весьма просто, так как все функции и переменные можно найти в специальном мануале Ubuntu. Кроме того, весь перечень конфигураций указывается в одном файле — /etc/ssh/sshd_config. Именно его вам и нужно будет отредактировать для того, чтобы создать безопасное подключение, которое практически невозможно взломать. Для того, чтобы вызвать мануал по настройке файла конфигураций, введите следующую строку в терминале: man sshd_config.

Поскольку далее вы будете изменять стандартные настройки файла sshd_config, лучше вам позаботиться о создании его резервной копии. Иначе в случае одной неправильной строки или слова вы можете нарушить работу сервера и тогда придется заново устанавливать OpenSSH на компьютер. Просто скопируйте sshd_config в любую другую папку, чтобы резервный файл не мешался в системе и никак не влиял на работу сервера. А чтобы случайно не отредактировать его, испортив стандартный настройки, вы можете изменить уровень доступа к файлу, чтобы его можно было только читать, но нельзя было редактировать. Для этого введите в терминале следующую строку: sudo chmod a-w /etc/ssh/sshd_config.original.

Теперь можно приступать к непосредственной редактуре самого файла. И начать стоит с самого простого и элементарного — с изменения порта. Хоть сделать это и очень легко, но если проигнорировать изменение порта, то в дальнейшем это может стать причиной взлома. Дело в том, что все давным-давно знают, что номер порта по умолчанию у всех один и тот же — это Port 22. Хакеры часто устраивают вылазки по серверам SSH, в поисках тех, у которых остался 22-й порт. Лучше уберите его и поставьте вместо него любой другой. К примеру, напишите так: Port 2220 — это TCP-порт. Подробнее о назначениях различных номеров порта вы сможете найти в Интернете.

Следующий весьма важный шаг — это изменение способа аутентификации. Лучше пропишите в файле конфигураций следующее: PubkeyAuthentication yes. Это строка разрешит аутентификацию посредством открытого ключа. Выглядеть это будет так: клиент создает публичный ключ, вносит его на сервер в специальный файл, а затем, когда он будет подключаться по SSH, сервер проверит наличие файла с публичным ключом на клиентском компьютере. В итоге, вам хоть и не придется вводить какой-либо пароль, но уровень защиты оттого и будет выше — хакеры не смогут перехватить вводимые данные. Будьте внимательны — иногда функция аутентификации по открытому ключу заранее одобрена, но при этом закомментирована.

Файл sshd_config позволяет не только настроить условия аутентификации и особенности соединения, но также дает возможность вам создать некоторое оформление для формы авторизации. Допустим, у вас на компьютере есть папка /etc/issue.net, в которой размещен файл с баннером. Этот баннер вы хотите поставить сверху формы авторизации, чтобы пользователям выводился какое-то сообщение при соединении с SSH сервером. Тогда пропишите в файле конфигураций следующее: Banner /etc/issue.net.

Если указанных изменений для вас достаточно, тогда смело можете сохранять файл и закрывать его. Написанные корректировки вступят в силу после того, как вы перезапустите сервер. А для этого снова нужно воспользоваться терминалом. Пропишите следующую строку для перезапуска сервера: sudo /etc/init.d/ssh restart. Теперь ваши нововведения заработали.

Если вы последовали указанному выше совету и одобрили аутентификацию путем сверки публичных ключей, тогда вам придется еще чуть-чуть помучится — нужно будет создать открытые ключи. Это уже необходимо производить на клиентском компьютере. Зайдите на него и откройте терминал. В командной строке пропишите следующее: ssh-keygen -t dsa. После этого начнется генерация двух ключей: открытого и секретного. Вам понадобится только открытый (публичный), а секретный не трогайте — он также необходим для аутентификации, но его никуда вносить не нужно будет. Зато публичный ключ необходимо перенести на сервер в специальный файл, в котором содержатся данные по открытым ключам — authorized_keys. Как правило, на сервере размещают этот файл в одном и том же месте, потому переносить данные вам нужно будет в ~/.ssh/authorized_keys.

Учтите, что категорически нельзя давать доступ к файлу с ключами пользователям, которые не прошли авторизацию. Потому вам нужно на серверском компьютере прописать следующую строку для изменения уровня доступа к файлу: chmod 600 .ssh/authorized_keys. А чтобы скопировать ключи, вам нужно будет воспользоваться следующей командой: ssh-copy-id username@remotehost, разумеется, со своими данными.

В целом, такой настройки достаточно. Единственное, еще можете ограничить доступ root-пользователя к серверу. Многие по глупости оставляют такой коридор для взломщиков. В итоге, если им удается завладеть аккаунтом суперадминистратора, у них оказываются полностью развязанные руки и вы с этим ничего не сможете поделать. Потому убедитесь, что возле строки PermitRootLogin стоит No, а не Yes и уж тем более не безпарольный доступ — without-password.

Настройка Dropbear

Теперь перейдем к обзору другого сервера — Dropbear. Сначала стоит разобрать, а зачем вообще нужно создавать SSH server при помощи Dropbear. А дело в том, что это приложение часто используют для замены OpenSSH. Со временем этот сервер может перестать подходить и вы сами начнете замечать это. Основная проблема OpenSSH — это большой «аппетит», так как приложение потребляет много оперативной памяти. Dropbear весит куда меньше — его бинарный файл может занимать всего 110 килобайт дискового пространства на компьютере.

Еще одна приятная особенность Dropbear — это возможность использовать такой сервер вместе с клиентами OpenSSH. То есть приложение поддерживает все способы аутентификации OpenSSH, что и делает Dropbear столь популярной альтернативой громоздкому OpenSSH.

А теперь разберем, как заменить OpenSSH на Dropbear. Для начала вам стоит установить приложение на компьютер. Для этого вновь придется воспользоваться услугами терминала — введите команду apt-get install dropbear. У этого сервера также есть свой особый файл, в котором спрятаны все жизненно важные конфигурации — это /etc/default/dropbear. Подробнее о его настройке вы найдете в Интернете или в мануале — там слишком много переменных, чтобы записывать все в этой статье.

Единственное, что вам стоит сразу изменить — это запретить вход на сервер root-пользователю. Для этого найдите строку DROPBEAR_EXTRA_ARGS и пропишите для нее значение =»-w». Еще одна строчку, которую нужно отредактировать сразу — это NO_START=1. Эта строка запрещает запуск сервера, что вам совсем не понадобится. Измените числовое значение строки на 0.

a255f-carainstalldropbearvpsdebian

Теперь переходим к непосредственной замене сервера OpenSSH на Dropbear. Для начала вам нужно остановить OpenSSH. Затем запустить Dropbear. И сделать это можно при помощи одной строки в терминале — введите initctl stop ssh && invokre-rc.d dropbear start. На всякий случай сразу не удаляйте OpenSSH — вдруг Dropbear не заработает, тогда предыдущий сервер станет вашим спасением. И не забудьте, когда будете вносить настройки в файл конфигураций, сделать его резервную копию. Кроме того, проследите, чтобы OpenSSH не запускался после активации системы. Для этого уберите его из автозапуска при помощи строки: touch /etc/ssh/sshd_not_to_be_run. На этом все!

Похожие статьи

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here