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