Ubuntu SSH — установка и настройка
Порой появляется потребность зайти с одного ПК на другой, при этом чтобы можно было не только просматривать данные, но и совершать какие-то действия. Для таких задач идеально подходит протокол SSH, особенно в Ubuntu. Он позволяет безопасно объединить сервер и клиент и при этом установка и настройка не займет у вас много времени, если действовать по инструкции.
Содержание
Как установить server в Ubuntu
Дело в том, что по умолчанию в операционной системе Ubuntu клиент уже установлен. Потому главное — это установка программы server OpenSSH на компьютере и ее последующая настройка. Для того, чтобы установить сервер, откройте терминал и введите строку: sudo apt-get install openssh-server. После этого Ubuntu запросит у вас пароль — подтвердите его. Когда установка будет завершена, вылетит сообщение с отчетом об успешной инсталляции. В итоге будет установлен server OpenSSH. Эта программа находится в дистрибутивах Ubuntu по умолчанию, потому server OpenSSH пользуется большой популярностью среди юзеров данной ОС.
Настройка server SSH в Ubuntu
Теперь самое главное — вам нужно правильно настроить server OpenSSH перед тем, как включить его и пускать клиент по защищенному протоколу на хост. Неправильная настройка может привести к понижению уровня безопасности и ваш сервер могут взломать.
А SSH протокол для того и нужен, чтобы подключение и передача данных проходили по надежным, шифрованным каналам, так что лучше потратьте немного времени и разберитесь в настройках.
То, как будет работать сервер, прописано в файле конфигураций config. В частности, в нем прописаны требования, каким должен соответствовать клиент для прохода через защиту SSH. Для начала стоит определиться с пользователем, через которого вы будете управлять системой. По умолчанию установлен пользователь root. Но оставлять эту настройку таковой небезопасно — у root пользователя слишком много прав и вы случайно можете навредить системе, потому лучше запретить его подключение к серверу.
Вам нужно переустановить на сервер другой аккаунт пользователя, чтобы вы могли безопасно пользоваться другим компьютером через SSH. Для этого вам нужно будет вместо root добавить другого юзера при помощи командной строки: adduser имя_пользователя. Но и этого недостаточно — все-таки иногда вам нужен будет пользователь root. Тогда сделайте добавленного юзера наполовину суперадминистратором, чтобы он мог временно получать root права. Для этого зайдите в root и пропишите следующую строку: gpasswd -a имя_пользователя sudo. Таким образом вы добавите нового юзера в группу пользователей sudo, у которых наибольший уровень доступа.
Если вы планируете при помощи SSH создать публичный сервер и на компьютер будет заходить ни один клиент, тогда лучше вообще убрать root пользователя. Если же вы уверены в своих способностях и не планируете публиковать хост, тогда можете сделать клиент суперадминистратором и защитить его паролем. Но иногда после этого появляется сообщение об ошибке: access denied. Надпись access denied после попытки зайти в аккаунт суперпользователя при помощи ввода пароля может означать какое-то противоречие в файле конфигураций config.
Чтобы устранить access denied, вам стоит хорошенько просмотреть все ли в порядке в настройках. Самая частая причина, почему появляется access denied — это активация опции авторизации по паролю и для обычных пользователей, и для root. Чтобы убрать access denied, поменяйте PermitRootLogin вместо yes на without-password. А затем пропишите PermitRootLogin yes. Далее перезапустите сервер (service ssh restart) и сообщение access denied окончательно пропадет.
Следующий важный шаг — это активация усиленной аутентификации пользователей. Авторизация путем ввода пароля — это уже устарелый и неэффективный способ защиты аккаунтов. Сейчас есть множество программ, при помощи которых можно путем подбора взломать пароли. Потому вам лучше использовать аутентификацию при помощи публичного ключа. То есть вам лучше использовать Public Key Authentication и поставить yes возле этого пункта в файле config.
Чтобы войти на сервер путем подтверждения публичного ключа, вам нужно его сначала сгенерировать. В Ubuntu очень удобно генерировать ключи, так как для этого не нужно скачивать какие-то дополнительные программы — достаточно забить в терминале ssh-keygen. После этого появится сообщение с информацией о расположении созданного ключа. Он будет находится в папке .ssh. После этого система запросит у вас пароль, но настоятельно рекомендуется оставить его пустым — иначе потом будете вводить его каждый раз при осуществлении какой-либо операции.
Следующим шагом вам нужно добавить сгенерированный публичный ключ в список доверенных на сервере. Для начала вам нужно будет скопировать публичный ключ. Он находится в файле формата .pub в папке .ssh. Скопируйте его и зайдите на сервер. На сервере так же должна быть папка .ssh. Если ее нет, то придется создать самостоятельно. А после этого, используя стандартный текстовый редактор, создайте файл authorized_keys. Именно в него вам нужно будет поместить публичный ключ. После этого вы сможете заходить на сервер без какого-либо подтверждения. Аутентификация будет проходить в автоматическом, фоновом режиме, что весьма удобно и при этом безопасно.
В целом, на этом настройка протокола SSH заканчивается! Разве что еще можете изменить порт 22 на другой.