Удаленный доступ по SSH

 


В этой заметке хочу поделиться своим небольшим опытом администрирования нашей рабочей сети.

Мне по работе среди прочего приходится обслуживать наши компьютеры. В частности, своевременно обновлять системы, для чего я заходил на каждый компьютер через Anydesk, блокировал удаленную машину, запускал терминал и выполнял обновления. Такой способ крайне неудобен для конечного пользователя, так как прерывается его работа. А когда обновления большие, на час и более, это вообще стоп работе. Я давно подозревал, что должен быть способ удаленного управления без явного подключения к рабочему столу на машине пользователя. И это — SSH.

Вкратце, SSH (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.

Для такого управления необходимы SSH-клиент и SSH-сервер. Клиент установлен на Linux'е, а сервер необходимо установить простой командой (на работе на всех машинах Linux Mint):

$ apt install openssh-server

После этого на сервере необходимо немного отредактировать файл конфигурации:

$ nano /etc/ssh/sshd_config

Здесь я указал необходимый порт (для каждой машины свой).

Раскомментировал и изменил строку PermitRootLogin на такое значение:

PermitRootLogin no

Остальное оставил без изменений, в том числе и строку

X11Forwarding yes

Если она закомментирована или у нее значение «no», измените на предложенное выше. Это позволит запускать приложения сервера на клиентской машине, при этом не отвлекая работника на удаленной машине, так как его приложение запустится у вас, а не у него.

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

$ service sshd restart

Для доступа к компьютерам не только из рабочей локальной сети, но и из интернета, на нашем роутере настроил перенаправление портов, указанных на каждой машине в файле sshd_config, на IP-адреса соответствующих компьютеров. Теперь можно подключаться.

Для подключения к серверу по SSH необходимо в терминале ввести команду

ssh -p [port] [user]@[ip-address]

где

  • [port] — номер порта, указанный в настройках sshd_config;
  • [user] — имя пользователя сервера, под которым будет осуществляться вход на удаленную машину;
  • [ip-address] — соответственно ip адрес сервера (удаленного компьютера).

Вводим пароль пользователя и — вуаля — мы управляем удаленной машиной в терминале на своем компьютере. Чтобы не вводить каждый раз команды в терминале для доступа на каждый компьютер, создал значки запуска отдельных терминалов для каждой машины.

На другом своем ноутбуке, на котором установлена Windows 10, в качестве терминала использую Microsoft Power Shell. Здесь также создал ярлыки для каждого компьютера, еще создал алиасы, так что вводя только имя пользователя удаленного компьютера, открывается его отдельное окно PS, в котором уже выполнена команда ssh -p [port] [user]@[ip-address]. Очень удобно все получилось.

Но я пошел еще дальше и установил приложение Termux на свой смартфон, и теперь могу управлять рабочими компьютерами в терминале на смартфоне:







    Поделиться:

    0 коммент.:

    Отправить комментарий