Linux notes #17 — Как настроить SSH в Linux

SSH (Secure Shell) — протокол, который позволяет удаленно управлять устройством, используя защищенное соединение. Шифрование делает SSH безопасным и по сути он стал основной заменой telnet. 

SSH использует 22 порт по умолчанию, аутентификация происходит посредством логина и пароля или с помощью ключей шифрования, что является предпочтительным вариантом. 

Для подключения к серверу можно использовать специальные программы или в терминале ввести

ssh root@10.0.0.10

Вводим yes и пароль. Мы на сервере. 

При наличии большого количества серверов и устройств удобнее использовать специальные клиенты, например SecureCRT или MobaXterm, где помимо терминала, вы сможете передавать файлы и автоматизировать подключения.

Через SSH можно работать и с графическими приложениями. Например

ssh -X root@10.0.0.10

После подключения введем

gnome-disks

Я подключаюсь с Fedora на RockyLinux, в вашем случае возможно потребуется провести дополнительные действия.

Теперь сгенерируем ключи, скопируем их на удаленный сервер и попробуем подключиться

ssh-keygen
ssh-copy-id root@10.0.0.10
ssh root@10.0.0.10

Как видим, пароль больше не требуется

Полезные команды

ls ~/.ssh/
cat ~/.ssh/id_rsa.pub
cat ~/.ssh/known_hosts

Сделаем еще удобнее

sudo nano ~/.ssh/config

Host server1
  Hostname 10.0.0.10
  User root
  IdentityFile ~/.ssh/id_rsa
  VisualHostKey yes

ssh server1

Основной файл конфигурации ssh сервера

sudo nano /etc/ssh/sshd_config

На что стоит обратить внимание?

#Port 22 // стоит по умолчанию, если сервер смотрит в интернет, лучше изменить на нестандартный

#ListenAddress // позволяет настроить IP адрес, на котором будет работать ssh сервер

#PermitRootLogin // разрешено ли root подключаться к серверу по ssh, с точки зрения ИБ лучше это запретить

#PasswordAuthentication // разрешено ли подключаться по паролю, с точки зрения ИБ лучше запретить и подключаться только по ключам (перед отключением добавьте на сервер ключи)

#X11Forwarding yes // позволяет “пробрасывать” графику, удобно, но с точки зрения ИБ лучше отключить

После внесения изменений необходимо перезапустить ssh

sudo systemctl restart sshd