Ах, удалённый доступ — эта волшебная возможность управлять чужим компьютером, не выходя из пижамы и не отвлекаясь на поход в офис! Помните анекдот: приходит администратор к доктору и жалуется — «Доктор, у меня проблема: я вижу серверы во сне!» Доктор отвечает: «Так вы же системный админ, это нормально». Вот так и с удалённым доступом — он стал настолько привычен, что уже даже снится. Но давайте разберёмся, как же работает эта магия под кодовым названием SSH.
Итак, представьте себе двух супергероев: клиент и сервер. Клиент — это ваш компьютер с приложением для подключения к удалённой машине. Сервер — та самая машина, к которой вы хотите подключиться. Между ними протокол SSH (Secure Shell) выступает в роли надёжного курьера с непробиваемым сейфом для ваших данных. Если бы SSH был человеком, то он бы носил плащ невидимки и при этом шептал только по секрету.
Конечно, прежде чем начать этот танец удалённого управления, надо убедиться в готовности обеих сторон. На стороне сервера трудится демон sshd — не какой-то страшный монстр из фильма ужасов, а просто программа, которая постоянно слушает порт TCP/IP в ожидании вашего звонка. Как только клиент стучится в дверь — демон приветливо отвечает и начинает обмениваться секретными паролями и версиями протоколов. И тут вспоминается история про администратора Петю, который решил подключиться к серверу без демона sshd. Получилось у него так же успешно, как попытка поговорить с холодильником: молчок.
SSH обычно использует вторую версию протокола — потому что первая была слишком застенчивой и плохо справлялась с безопасностью. Это примерно как переход от старого доброго телефона-раскладушки к смартфону с отпечатком пальца.
Если вы пользуетесь Linux-дистрибутивом вроде Ubuntu или Fedora, то скорее всего клиент SSH у вас уже есть. А вот серверная часть часто требует установки вручную; представьте себе ситуацию: вы пришли на вечеринку (то есть на сервер), а там никто не открывает дверь — значит демона нет! В Ubuntu по умолчанию ssh-сервер отключён именно по этой причине.
Для Windows-счастливчиков существует PuTTY — такой себе маленький терминальный коммандос с зелёным экраном и множеством настроек. Не удивляйтесь, если при первом запуске PuTTY вам покажется, что попали в секретную лабораторию из фильмов о хакерах.
Проверить наличие клиента SSH в Linux можно очень просто: открываете терминал и вводите команду ssh без параметров. Если система выдаст длинный список опций и синтаксиса — поздравляем! Вы готовы покорять удалённые сервера! Если же получите сообщение об ошибке или команда не найдена — значит пора установить OpenSSH-клиент. Кстати говоря, установка OpenSSH напоминает процесс приготовления борща: сначала нужно подготовить ингредиенты (терминал), потом добавить специи (пакеты), а после варить до готовности (нажать Enter).
Представьте себе забавную сценку: Вася пытается подключиться к серверу по SSH без установленного клиента. Он набирает команду в надежде увидеть чудеса удалённого управления… но получает только грустное «command not found». Тогда он решает установить OpenSSH через интернет-маркет «apt-get install openssh-client» и тут же чувствует себя настоящим айтишником-мастером боевых искусств!
Ну а когда всё установлено правильно и соединение успешно установлено – перед вами откроется текстовый интерфейс удалённой машины. Это как попасть внутрь компьютера друга через тайную дверь; можно смотреть файлы, запускать программы или даже устраивать мини-вечеринку из командной строки.