Secure Shell

Одна из самых распространенных задач, возникающих при работе в сети — удаленный доступ к другим компьютерам и предоставление такого доступа.

Для решения этой задачи используется ставший уже традиционным протокол SSH (Secure Shell). В отличие от устаревших протоколов, таких как telnet и rsh/rlogin/rcp, которые передают данные прямым текстом и подвержены обыкновенному прослушиванию и различным атакам, SSH реализует соединение с удаленным компьютером, защищающее от:

  1. прослушивания данных, передаваемых по этому соединению;

  2. манипулирования данными на пути от клиента к серверу;

  3. подмены клиента либо сервера путем манипулирования IP-адресами, DNS либо маршрутизацией.

В дополнение к отличным характеристикам в области обеспечения безопасного клиент-серверного соединения, SSH обладает следующими возможностями:

  1. сжатие передаваемых данных;

  2. туннелирование каналов внутри установленного соединения — в т.ч. соединений с X-сервером;

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

OpenSSH — это входящая в дистрибутив реализация SSH, поддерживающая версии 1.3, 1.5 и 2.0 протокола SSH, и распространяемая на условиях лицензии BSD. Эта реализация включает в себя:

  1. клиентские программы ssh, scp и sftp (используются для запуска программ на удаленных серверах и копирования файлов по сети);

  2. серверные программы sshd, sftp-server (используются для предоставления доступа по протоколу SSH);

  3. вспомогательные программы make-ssh-known-hosts, rescp, ssh-keygen, ssh-add, ssh-agent, ssh-copy-id, ssh-keyscan.