SSH (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.
SSH позволяет безопасно передавать в незащищённой среде практически любой другой сетевой протокол. Таким образом, можно не только удалённо работать на компьютере через командную оболочку, но и передавать по шифрованному каналу звуковой поток или видео (например, с веб-камеры). Также SSH может использовать сжатие передаваемых данных для последующего их шифрования, что удобно, например, для удалённого запуска клиентов X Window System.
Большинство хостинг-провайдеров за определённую плату предоставляют клиентам доступ к их домашнему каталогу по SSH. Это может быть удобно как для работы в командной строке, так и для удалённого запуска программ (в том числе графических приложений).
Настраивать свой сервер для доступа по SSH требуется лишь в том случае, если вы планируете запускать задачи проекта в некотором тестовом окружении помимо запуска на суперкомпьютере, или же вы располагаете мощным сервером для организации целевого окружения проекта.
Рассмотрим настройку SSH сервера на базе ОС Ubuntu Linux 12.04 LTS.
Установить OpenSSH можно из терминала командой:
sudo apt-get install ssh
Основной файл конфигурации SSH-сервера — файл /etc/ssh/sshd_config
, доступный для чтения или редактирования только суперпользователю. После каждого изменения этого файла необходимо перезапустить ssh-сервер для применения таких изменений.
По умолчанию доступ по SSH разрешён всем пользователям системы.
На сервере должен быть разрешён доступ по логину и паролю.
Проверка подключения:
ssh user@host