Telnet и FTP — хорошо известные протоколы, но они передают данные в простом текстовом формате, которые могут быть с легкостью перехвачены кем-либо, находящимся в одной сети.
SSH (Secure Shell) использует SSL для шифрования трафика. OpenSSH — open-source версия SSH. Все данные, передаваемые с помощью инструментов OpenSSH, зашифрованы, что делает передачу по сути более безопасной.
Набор инструментов OpenSSH включает в себя ssh для безопасного входа в удаленную систему и выполнения удаленных команд, scp для шифрования файлов при передаче их на удаленную систему и sftp для безопасной FTP передачи.
OpenSSH использует клиент-серверную модель. Система, к которой происходит соединение, называется сервером. Система, запрашивающая соединение, называется клиентом. Любая система может быть как SSH-сервером, так и SSH-клиентом. OpenSSH также имеет дополнительные преимущества, как X11 forwarding и port forwarding.
X11 forwarding, если включен и на сервере, и на клиенте, позволяет пользователям отображать графические приложения из системы, в которую они вошли, (server) в систему, из которой они зашли (client).
Port forwarding позволяет отправлять connection request на сервер, который форвардит(перенаправляет) этот request на другой сервер, который по сути принимает запрос.
В этой статье мы обсудим, как использовать OpenSSH, как для сервера, так и для клиента.
В нашем примере мы настроим ssh сервер и вызовем соединение с клиентской стороны. Мы будем использовать две системы: один Linux сервер и один Linux клиент.
Configure SSH server
Прежде всего для настройки и запуска OpenSSH сервера необходимо установить пакет openssh-server:
sudo apt-get install openssh-server
Но можно также установить OpenSSH командой:
sudo apt-get install ssh
В пакете ssh содержится как клиент, так и сервер, но при этом, скорее всего, будет установлен только сервер, т. к. клиент уже есть в Ubuntu по умолчанию.
При установке SSH-сервер автоматически прописывается в автозагрузку. Управлять его запуском, остановкой или перезапуском можно с помощью команд:
sudo service ssh stop|start|restart
На старых системах используйте вместо этого:
sudo /etc/init.d/ssh stop|start|restart
Чтобы узнать статус сервиса воспользуйтесь следующей командой:
sudo service ssh status
Аналогично на старых системах:
sudo /etc/init.d/ssh status
Для того, чтобы узнать версию OpenSSH, выполните:
ssh -V
Убрать или добавить сервис ssh в автозагрузку можно командами:
sudo update-rc.d ssh -f remove sudo update-rc.d ssh defaults
По умолчанию ssh сервис слушает 22 порт TCP/IP. В следующей части туториала мы научимся менять этот и многие другие параметры.
Итак, запустим наш SSH-сервер, так как у меня старая Debian Linux система на виртуалке, то будем использовать второй способ запуска:
/etc/init.d/ssh start
Так как я сижу под root, то не использую sudo 🙂
Проверим статус ssh сервиса:
/etc/init.d/ssh status
Все крутится. Теперь узнаем IP адрес нашей машины и перейдем к SSH-клиенту:
ifconfig
Напоследок узнаем версию ssh клиента:
ssh -V
Ого какая старая, ну да ладно, я же говорил, что древняя виртуалка 🙂
Configure SSH client
Обычно в Ubuntu уже встроен SSH-клиент, и вам не нужно ничего устанавливать, но если все-таки его нет, то установите пакет openssh-client:
sudo apt-get install openssh-client
Connecting
Утилита для подключения к удаленной системе в Linux называется, как неожиданно, ssh :).
Самая простая форма команды:
ssh remote_host
где remote_host в этом примере — IP адрес SSH-сервера или доменное имя, к которому вы пытаетесь подсоединиться.
Эта команда предполагает, что username на удаленной машине такой же, как и на вашей локальной машине.
Если username‘ы разные, то вы можете указать это, используя синтаксис:
ssh remote_username@remote_host
В моем случае:
ssh root@192.168.0.100
После подключения к серверу вам, вероятно, будет предложено подтвердить свою личность с помощью ввода пароля.
Для возвращения к вашей локальной сессии просто наберите:
exit
На этом пока все. Как всегда, если возникли турдности или вопросы, задавайте их в комментариях. В следующий раз я детально расскажу про настройку SSH-сервера.
Be cool!
OpenSSH. Настройка SSH сервера и клиента в Linux. Часть 1.: Один комментарий