Настройка SSH на сервере Linux.

SSH (англ. Secure Shell — «безопасная оболочка»)  удобный и безопасный способ администрировать удалены сервер . Собственно по этому им пользуются все ). И для начала нам нужно приложения для SSH подключения. Самая известная и удобная программа под Windows это — PuTTY . Скачать ее можно с оф.сайта , там же есть и набор утилит для нее.

 

Там все очень просто , набираем IP сервера , вводим порт ( по умолчанию 22 ) и нажимаем open . В терминале  набираем имя  пользователя ( root)  и пароль . Помните в Linux пароль не видно !)

Есть не зыблемое правило : под root пользователем делают только первичные настройки и больше его не используют для входя по SSH. Это на прямую связано с безопасностью сервера.  По этому перед настройкой самого SSH  мы сделаем нового пользователя и дадим ему право выполнять команды от  лица root! Начнем .

 

Первым делом мы добавим нового пользователя . 

 

# adduser test 

На экране появиться что пользователь с именем test добавлен, создана одноименная группа  и домашняя директория пользователя Creating home directory `/home/test’ …

Adding user `test’ …
Adding new group `test’ (1003) …
Adding new user `test’ (1002) with group `test’ …
Creating home directory `/home/test’ …
Copying files from `/etc/skel’ …

Далее водим пароль пользователя и другие данные типа имени  , адреса , заметки , которые заполнять не обязательно.

Теперь нам надо дать права пользователю test  выполнять команды с  приставкой SUDO .

visudo   команда редактирования правил sudo

Находим строчку :

# User privilege specification
root ALL=(ALL:ALL) ALL

добавляем за ней нашего пользователя(право выполнять любые команды от имени root ) и сохраняем изменения:

test ALL=(ALL:ALL)ALL

Перезагружаем сервер reboot , и заходим под пользователем test.

 

Теперь можно перейти к настройке SSH.

sudo nano /etc/ssh/sshd_config

# What ports, IPs and protocols we listen for
Port 22   

Меняем порт со стандартного значения , например  на 2222. Иначе к вам будут ломиться куча ботов.

ListenAddress 0.0.0.0

Если у вас несколько сетевых карт (IP адресов ) вы можете задать слушать только один интерфейс , а не все.

# Authentication:
LoginGraceTime 120

120 секунд вам дается что бы залогиниться .
PermitRootLogin no

Вход под root запрещен . Это очень важно , убедитесь что у вас стоит no !

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

Черным по белому . Вход с пустым паролем запрещен .

Так же вы можете запретить вход группе или пользователю по SSH .

DenyGroups nossh   ( группе nossh вход запрещен )

DenyUsers user1 user 2 user3  (Запрет пользователей)

На этом основная настройка SSH закончена , сохраняем изменения, перезагружаем сервер .

Настройки доступа по SSH с использованием ключей можно посмотреть тут.

Denian/Ubuntu. На других Linux дистрибутивах  установка может отличаться.