SSH клиенты

24.06.2019

PuTTY – это бесплатная программа (SSH-клиент) с открытым исходным кодом, который предоставляет пользователям платформу, с помощью которой они могут безопасно взаимодействовать с удалёнными серверами (преимущественно с операционными системами Linux / Unix) или специально сконфигурированными рабочими станциями.

Кроме того, бесплатно скачав PuTTY на русском языке, Вы убедитесь, что он позволяет передавать файлы на удалённые системы по следующим протоколам: Rlogin, SCP, Telnet, SSH и SFTP , которые в свою очередь шифруют данные, чтобы защитить их целостность и оградиться от воздействия со стороны неавторизованных пользователей. Программное обеспечение относится к консольному типу, такого себе эмулятора терминала с интегрированным инструментом для передачи файлов на удалённые сервера.

Таким образом, PuTTY содержит все необходимые функции для подключения к удалённому серверу и его настройки при помощи консоли. Крайне востребован ИТ-специалистами из категории системных и сетевых администраторов.

Установка и настройка

После того, как программное обеспечение установлено на вашем ПК, вы должны настроить PuTTY для удалённого подключения. Вы можете определить тип соединения, имя хоста, имя файла журнала и его назначение. В разделе «Подключение» вы можете выбрать версию интернет-протокола и сведения о передаче пакета. Он позволяет вводить данные, которые должны быть проверены при выполнении передачи файлов. Управление прокси-сервером можно контролировать, а также выполнять подключения через Telnet или Rlogin . Вы можете управлять настройками SSH и вводить данные последовательной линии, если необходимо использовать серийное соединение.

Особенности ПО

Программное обеспечение PuTTY гарантирует, что передаваемые данные отправляются без перерывов и не попадают в руки хакеров. Поэтому для обеспечения целостности шифрования используются различные защитные механизмы (алгоритмы), такие как DES, 3DES, Arcfour и метод аутентификации с открытым ключом.

SSH - прикладной сетевой протокол. Чаще всего используется для удаленного управления операционной системой. С помощью этого протокола также создают туннелирование TCP-соединений. Удобен тем, что шифрует весь трафик, включая пароли. Использует различные алгоритмы шифрования. SSH-сервера и SSH-клиенты существуют под любую ОС и широко распространены. В этой статье рассмотрим наиболее популярные программы под разные ОС.

Что такое SSH клиент и для чего он предназначен?

Как правило, на серверных машинах администратором уже установлен SSH-сервер, чтобы была возможность удаленного администрирования этой машины. Поэтому для того, чтобы осуществлять этот процесс, нам нужен только SSH-клиент, чтобы удаленно коннектиться к серверу. При этом совершенно не важно на какой ОС установлен сервер или клиент. Мы рассмотрим все самые популярные решения для Windows, Linux и Mac OS.

Виртуальный хостинг сайтов для популярных CMS:

Как правильно выбрать SSH клиент?

Такой вопрос задает себе новичок, который впервые озаботился вопросом выбора. SSH-клиенты не имеют в своей основе принципиальной разницы. Обычно, это простой оконный интерфейс с командной строкой. Разница лишь в дополнительных настройках и интерфейсе программы. Перейдем к делу и начнем краткий обзор самых популярных программ.

SSH-клиенты для Windows - программы и online - аддоны

PuTTY - клиент для подключения к SSH, Telnet, SCP, SFTP.

PuTTY, пожалуй, один из самых популярных SSH-клиентов для Windows. Популярен он за свою функциональность, быстроту работы, простоту использования. И он бесплатный! Скачайте этот клиент и установите его.

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

WinSCP - еще одна довольно популярная программа-клиент. С помощью нее можно установить зашифрованное соединение к FTP-серверу удаленной машины путем туннелирования трафика через протокол SSH.

Работает быстро. Интерфейс похож на PuTTY. Ничего сверхъестественного, поэтому разобраться с подключением будет не сложно. Все то же самое: хост, порт, имя пользователя и пароль - все, что требуется для подключения и дальнейшего управления файловой структурой сервера.

Xshell - бесплатный для некоммерческого использования клиент.

Преимущества программы: поддержка локальных команд, управление файлами и туннелирование. Имеет простой командный интерфейс. Помимо SSH-протокола поддерживает и другие: RLOGIN, SFTP, TELNET, SERIAL. Для профессиональных пользователей есть куча дополнительных настроек: динамическое перенаправление портов, поддержка сценариев, трассировка, функции настройки безопасности.

Онлайн расширение FireSSH для Firefox

Плагин для одного из популярных браузеров Mozilla Firefox.

Чтобы запустить клиент зайдите в «Меню», затем «Разработка», пункт «FireSSH». Ваш клиент запущен. Вводите ваши данные для подключения во вкладке «Main» и приступайте к работе. Во вкладке «Advanced» можно указать дополнительные параметры SSH-туннелирования. Работает эта штука в режиме онлайн на всех ОС, на которые можно поставить этот браузер.

Secure Shell - хороший плагин для Google Chrome

Для браузера Google Chrome есть свой плагин ssh-клиент. Называется он Secure Shell.

Установите это расширение в свой браузер. После установки щелкните на пиктограмку, клиент откроется в новой вкладке. В этом окне вы настраиваете параметры подключения и устанавливаете соединение с удаленным сервером. Этот клиент также будет работать в любой ОС, для которой можно установить данный браузер.

OpenSSH для Cygwin Terminal

Для Windows существует пакет UNIX-подобных утилит. Cygwin - один из таких пакетов. А OpenSSH может быть установлена вместе с ним. Попробуйте эту утилиту, возможно она вам понравится!

В чем ее преимущество? Вы можете использовать команды с синтаксисом для UNIX-платформ в Windows среде. Это удобно для пользователя, который не хочет изучать дополнительные команды для Windows. Установите пакет Cygwin. Во время установки вы можете выбрать установку только отдельно OpenSSH. После установки запускайте утилиту Cygwin Terminal и наслаждайтесь простым консольным терминалом!

SSH-клиенты для для Mac OS

Простой консольный терминал

В Mac OS для работы с SSH подключениями уже есть удобная утилита. Это стандартный терминал, который по умолчанию установлен в этой системе. Просто, настраиваемый, удобный. У него нет графического окна для удобного создания соединений, но для продвинутого пользователя это всего лишь ввод одной команды:

ZOC

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

Это аналог PuTTY для Mac OS. Скачать программу можно с с сайта разработчика. Триальная версия 30 дней. Потом за пользование программой придется заплатить. Удобная. Знакомый интерфейс. Простая.

vSSH

В Apple Store можно найти и другое платное решение - программа vSSH от разработчика Velestar Private Enterprise. Невысокая цена этого клиента может сподвигнуть на его использование. Здесь особо добавить нечего: привычный интерфейс командной строки. Работает хорошо и выполняет все свои функции.

Shuttle

Вы точно сможете оценить это небольшое дополнение для OS X, разработанное Тревором Фитцжеральдом. С помощью этой программы можно повесить быстрый доступ к нужным вам хостам в иконку верхней панели ОС. В разделе Config можно задать все нужные подключения, а потом одним щелчком мыши подключаться к ним. Это очень удобно.

SSH-клиент для Linux

Консольный терминал

C ОС Linux все просто. Здесь есть стандартный консольный терминал, пользоваться которым привыкли все пользователи этой ОС. Он понадобится и для установки новых пакетов в систему, и поиску по файловой структуре и для многих других задач. Конечно же можно и подключаться к удаленному SSH-серверу. Команда простая:

У нее есть дополнительные параметры, посмотреть которые можно так:

Команды SSH, используемые наиболее часто.

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

ls - отобразить файлы и папки;
cd - перейти в корневой каталог;
cd .. - перейти в каталог уровнем выше;
cd folder - перейти в указанную папку;
pwd - показать путь к текущему расположению;
cp - копировать файл;
rm - удалить файл;
mv - переместить файл;
mkdir - создать новую папку;
rmdir - удалить папку;
get - загрузить файл на локальный компьютер;
put - загрузить файл на удаленный компьютер;
exit - завершить сессию и выйти из программы.

Более подробные и обширные списки команд представлены на профильных ресурсах, найти которые не составит труда. Задача же этой статьи была ознакомить Вас с самыми популярными SSH-клиентами и выбрать подходящий Вам. Надеемся, она вам в этом помогла.

Удаленное управление системами – наиболее удобный вариант работы для востребованного в любое время суток системного администратора. Не требуя физического присутствия, оно дает возможность настроить оборудование и устранить имеющиеся программные неполадки. Одной из программ, предоставляющих такие возможности, является PuTTY – сервис для работы с SSH, Telnet, rlogin. Основная цель, ради которой разрабатывалась программа – обеспечить надежное и максимально защищенное соединение между двумя компьютерами, - реализована в PuTTY на все 100%. Как такового графического интерфейса в программе нет. Вместо него пользователь видит при первом запуске терминал с вводимыми вручную командами. Раньше приложение было ориентировано только под версии операционной системы Windows, но теперь отличается кроссплатформенностью. Поэтому терминал представляет собой, по сути, командную строку Linux.

Для чего же пригодится данное программное обеспечение? Вопроса «для кого» здесь не возникает, так как с первого взгляда на приложение ясно, что рядовому пользователю с его знаниями тут делать нечего. С PuTTY чаще всего удаленно администрируют Linux, подключаются к виртуальным серверам DS/VPS, настраивают маршрутизаторы через последовательное подключение и соединяются с Telnet-терминалами. Приложение включает в себя несколько утилит и способно работать в качестве SSH- и Telnet клиента, SCP и SFTP клиента. Также в состав PuTTY входят программные продукты для генерации SSH-ключей и SSH-аутентификации. Приложение имеет русифицированную версию и множество аддонов и модификаций (созданных не официальными разработчиками, а специалистами-энтузиастами). Являясь свободно распространяемым программным обеспечением, PuTTY имеет открытый исходный код, что открывает широкие горизонты для его совершенствования и развития.

Ключевые особенности и функции

  • обеспечивает надежное подключение к ПК или серверу по протоколам SSH, Telnet, SCP, SFTP;
  • подходит для удаленного администрирования, настройки роутеров и подключений к терминалам;
  • имеет в своем составе несколько самостоятельных утилит, упрощающих работу;
  • распространяется абсолютно бесплатно;
  • имеет открытый исходный код;
  • умеет генерировать SSH-ключи;
  • имеет множество написанных неофициальными разработчиками дополнений и модификаций с расширенными возможностями;
  • обладает минималистичным интерфейсом;
  • является кроссплатформенным программным обеспечением;
  • имеет русифицированную версию;
  • предоставляет возможность установки на мобильные устройства.

Клиент SSH — это необходимая утилита при использовании SSH-соединения между двумя машинами. Она предназначена для входа в операционную систему удаленного компьютера и выполнения в ней команд. Клиент устанавливается на локальную машину пользователя. Он должен пройти аутентификацию на сервере, и только после этого начинается обслуживание. Клиент может быть реализован для работы в терминале или иметь графический интерфейс настройки.

Что такое SSH?

Переводится дословно как «безопасная оболочка». В использовании SSH — это с помощью которого производится безопасное управление операционной системой удаленного узла в сети. Обеспечивает защищенное соединение, аутентификацию и передачу данных с одного хоста на другой благодаря шифрованию трафика, проходящего через него.

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

Начало SSH было положено Тату Илёненом из Финляндии в 1995 году, который задействовал его как более конфиденциальный протокол. Эта версия была названа SSH-1. На данный момент практически нигде не используется.

В 1996 году была разработана усовершенствованная версия SSH-2. Она несовместима с SSH-1, более защищенная и имеет расширенный список алгоритмов шифрования. Сейчас под SSH понимается именно версия SSH-2. С 2006 года протокол признан интернет-стандартом ассоциацией IETF.

Существует две основных реализации SSH. Одна из них проприетарная, которая разрабатывается SSH Communications Security. Вторая - OpenSSH, созданная под руководством Тео де Раадта как свободная открытая альтернатива первой. Является самой распространенной и включена в поставку большинства Unix-подобных систем.

Что такое клиент SSH и сервер SSH

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

Простыми словами, пользователь через клиент, который установлен на локальный компьютер, получает доступ к удаленной машине (серверу). Стоит отметить, что клиент может быть реализован с графической оболочкой (как дестктопное приложение), так и для работы в терминале (консоли).

Сервер SSH слушает сетевые подключения клиентов и при получении запроса на коннект производит необходимые действия для авторизации. При удачном прохождении запускает установленную для удаленного клиента службу.

Безопасный доступ организуется с помощью процедуры аутентификации с использованием асимметричного шифрования с публичным ключом при первом подключении. При последующем применяется симметричное шифрование.

Стандарт SSH включает в себя три протокола:

  • Протокол транспортного уровня - гарантирует аутентификацию сервера, секретность и целостность. Обеспечивает сжатие данных. Работает поверх TCP/IP.
  • Протокол аутентификации — исполняет аутентификацию клиента для сервера. Действует поверх уровня транспортного протокола.
  • Протокол соединения — представляет зашифрованный канал в виде мультиплексированного канала из нескольких логических, используемых для разных служб. Работает поверх канала аутентификации.

Повышение безопасности гарантируется аутентификацией клиента для сервера, к которому обращается клиент ssh и аутентификацией сервера клиентом. Происходит аутентификация обеих сторон.

Клиент шлет запрос в первый раз, когда устанавливается безопасное соединение транспортного уровня. Второй запрос направляется после завершения аутентификации SSH-клиента.

Реализация OpenSSH

OpenSSH — это открытая реализация команды OpenBSD. Является самой распространенной версией благодаря свободному распространению.

Пакет OpenSSH включает набор таких инструментов:

  • SSHD — серверная часть.
  • SSH — клиентская часть.
  • SCP — утилита для защищенного копирования файлов.
  • SSH-keygen — генерирует открытые ключи (RSA, DSA и другие) для компьютеров и пользователей.
  • SSH-keyscan — собирает публичные ключи в сети.
  • SSH-agent — хранит личные RSA ключи для последующей авторизации с публичными ключами.
  • SSH-add — добавляет новые личные ключи агенту SSH-agent.
  • SFTP-server — SFTP сервер.
  • SFTP — утилита для безопасного копирования файлов по FTP.

OpenSSH включен в поставку из коробки для большинства Unix-подобных систем. Самые распространенными считаются Linux, Open (Free, Net) BSD, Solaris, HP-UX, Irix, MacOS X и другие.

Активная разработка ведется в реализации OpenSSH for Windows, которая доступна для скачивания насайте. Она позволяет создавать SSH-сервер в системах семейства Windows, имеет клиент SSH для подключения. OpenSSH for Windows включен в поставку CygWin.

Наиболее популярными среди пользователей являются дистрибутивы на базе ядра Linux. В дальнейшем все примеры использования SSH будут подразумеваться в настройке OpenSSH. Для наглядности работы в Linux будет настроен SSH-клиент для Ubuntu, Windows и Mac OS X.

Установка и настройка openssh-server

Существует множество вариантов конфигурации OpenSSH -server. Настройка клиента должна производиться исходя из конфига сервера. В этом разделе приведен пример сервера SSH, установленного на Ubuntu Server Edition. При последующих описаниях настройки клиентов будет использоваться конфигурация этого сервера.

1. Есть два способа установки OpenSSH -server:

1.1. Выбрать установку пакета OpenSSH -server сразу же в процессе разворачивания Ubuntu Server/

1.2. Скачать и установить из репозитория, выполнив команду:

2. Ознакомиться со значениями конфигурация сервера SSHD по умолчанию в файле /etc/ssh/sshd_config можно командой:

3. Перед изменением стандартных настроек обязательно нужно создать резервную копию файла и защитить его от записи. Это делается на тот случай, если потребуется откат до значения по умолчанию в случае ошибки.

4. В настройках по умолчанию установлен 22. Для безопасности рекомендуется заменять его нестандартным значением, например, 5754. Изменить директиву Port можно командой:

5. Сохраните файл/etc/ssh/sshd_config и перезапустите SSHD:

Сервер установлен и настроен. Теперь он прослушивает порт 5754. По умолчанию получить доступ может любой пользователь системы с правами на вход. Аутентификация производится с помощью пароля или ключей DSA, RSA, ed25519 и др.

Кросплатформенный OpenSSH-client для терминала. SSH клиент для Linux

Ранее говорилось, что самой часто используемой реализацией протокола SSH является OpenSSH, который по умолчанию поставляется с большинством сборок дистрибутивов Linux. В некоторых случаях OpenSSH можно скачать с репозиториев для данного дистрибутива.

В составе пакетов OpenSSH-клиент реализован в виде программы SSH, которая запускается одноименной командой. Настройка и управление клиентом производится через терминал, он не имеет графического интерфейса. Считается самой простой и удобной версией.

Установка и настройка OpenSSH-client на Ubuntu

На удаленной машине имеется установленный и сконфигурированный OpenSSH-server. Задача состоит в том, чтобы получить к нему доступ с локального компьютера, на котором установлена Ubuntu.

1. В Ubuntu по умолчанию не добавлен дистрибутив OpenSSH-client, поэтому установить его необходимо командой:

2. После она вызывается командой SSH из терминала без Root.

3. В случае если используется аутентификация пользователей по паролю:

1) подключение производится командой:

  • username — имя учетной записи на удаленной машине,
  • host — это IP-адрес удаленного сервера (или домен, если домен был делегирован на сервер);

2) после ввода команды необходимо нажать Enter - появится запрос на ввод пароля; требуется ввести пароль от учетной записи удаленной машины (следует быть внимательным, так как для безопасности ввод пароля никак не отображается);

3) после правильного ввода пароля появляется окно терминала удаленного сервера с приветствием; теперь можно выполнять необходимые команды.

1) при необходимости сгенерировать открытый и закрытый ключи SSH можно из OpenSSH-client:

2) по умолчанию публичный ключ сохраняется в файл /home/user/.ssh/id_dsa.pub, а закрытый в /home/user/.ssh/id_dsa;

3) сгенерированный публичный ключ необходимо скопировать на удаленную машину и добавить его к авторизации /home/user/.ssh/authorized_keys командой:

Теперь пользователь может идентифицироваться на SSH-сервере без ввода пароля.

Установка и настройка OpenSSH для Cygwin Terminal на Windows

Установка Cygwin производится запуском файла Cygwin.exe, который скачивается с официального сайта.

Cygwin — это сборка множества разных пакетов. Для работы с удаленным терминалом требуется только OpenSSH. Найти его можно с помощью поиска в самом Cygwin.

После установки пакета нужно запустить Cygwin Terminal и ввести команду:

После чего нажать Enter. Появится запрос на ввод пароля. После прохождения аутентификации появляется терминал удаленного сервера с приветствием пользователя.

Синтаксис точно такой же, как и в OpenSSH-client, реализованном для Linux.

Кроссплатформенный SSH-клиент с графическим интерфейсом PuTTY

Putty — графический клиент SSH для удаленного администрирования, включающий в себя поддержку протокола SSH. Программа распространяется с открытым кодом и абсолютно бесплатная.

Изначально выпускался только для OS Windows, но позже клиент был портирован для Linux, входит в репозитории практически всех популярных дистрибутивов.

Активно разрабатывается для работы в Mac OS X.

Окно настройки PuTTY выглядит одинаково во всех операционных системах. Разница существует только в способах установки. Поэтому сначала будут приведены способы установки для трех операционных систем, а затем - параметры настройки PuTTY.

Установка PuTTY Linux Ubuntu

1. Установить PuTTY можно командой:

2. Запуск выполняется командой putty из терминала или кликом мыши из меню:

3. Открывается окно настроек клиента, где необходимо прописать параметры соединения.

Установка PuTTY для Windows

Для установки потребуется скачать файл putty.exe, сохранить в удобное место, например, на рабочий стол. Программа запускается двумя кликами левой кнопки мыши.

PuTTY — SSH-клиент для Mac. Установка и запуск GUI-версии

На момент написания статьи PuTTY не был адекватно портирован для работы в Mac OS X. Проблемы возникали на компиляции той части, которая отвечает за графический интерфейс.

Для установки следует выполнить некоторые предварительные работы.

1. Установить Xcode.

Пакет утилит и программы от Apple для разработки и сборки приложений под Mac OS X.

С версии Mac OS Lion необходимо поставить «Command Line Tools for Xcode» с сайта Apple Developer.

После установки требуется принять соглашение о лицензии:

2. Установить Xquartz.

Это реализация сервера X.Org X Window System (X11) для Mac OS X. Требуется для GUI-версии PuTTY, написанного на GTK+. Установить можно с официального сайта. После установки потребуется релогин.

3. Установить Homebrew.

4. Установка Putty выполняется командой:

Процесс может занять больше получаса, так как будет установлено множество зависимостей вроде Glib/GTK+/Pango/Cairo.

5. Создание файла запуска Putty.app.

Необходимо запустить Automator.app. В типе документа выбрать «программа», в действиях нужно выбрать «запустить shell-скрипт», в поле ввода прописать путь до исполняемого файла «/user/local/bin/putty», сохранить как «putty.app», указав формат файла «программа», в директорию «программы». При желании стандартную иконку можно заменить.

Настройка SSH клиента PuTTY

Процесс настройки графического клиента SSH PuTTY выглядит одинаково во всех операционных системах. Внешний вид слегка отличается в зависимости от оформления рабочего окружения.

Для подключения к удаленной машине по SSH требуется запустить PuTTY. В появившемся окне программы необходимо установить параметры:

Connection Type — тип соединения — устанавливается SSH.

Host Name (or IP-adress) — имя хоста, или IP-адрес — здесь указывается IP-адрес удаленного сервера, доменное имя или адрес в интернете. В приведенном примере указан IP-адрес 192.168.128.3

Port — прослушиваемый порт — на сервере, который был приведен в качестве примера, настроен порт 5754. Его и указываем.

При нажатии кнопки "Open" появится окно терминала, где потребуется ввести имя учетной записи удаленной машины и пароль.

В случае необходимости аутентификации клиента парой ключей потребуется утилита puttygen.exe, которая запускается в ОС Windows. PuTTY-Gen генерирует свою пару ключей public и private.

Публичный ключ необходимо добавить на сервер, он генерируется в стандарте SSH. Добавить ключ можно аналогично, через OpenSSH в терминале или с помощью PuTTY, пройдя первую авторизацию логин-пароль.

Приватный ключ генерируется формата.ppk и добавляется в клиент. Слева в дереве нужно найти SSH, развернуть список, найти Auth и в этом параметре в поле «Private key file for Authentication» выбрать ключ.

После этих манипуляций пользователь может проходить аутентификацию на сервере без ввода пароля.

На данный момент PuTTY считается универсальным клиентом SSH с графическим интерфейсом. Сторонние разработчики Gao-Feng создали SSH-клиент для Android, как мобильную версию PuTTY.

Лучший SSH-клиент

До сих пор не существует единого мнения о том, какой SSH-клиент лучше использовать. Системные администраторы подбирают утилиты исходя из собственных потребностей.

Как правило, пользователи *Unix-систем склоняются к использованию стандартного SSH из пакета OpenSSH. Он обладает понятным универсальным синтаксисом и доступен напрямую из терминала. Для работы с дополнительными инструментами вроде защищенного копирования файлов (SCP) не требуется устанавливать дополнительные программы. Все необходимое включено в OpenSSH.

Поклонники графического интерфейса, которые обычно работают в операционных системах Windows, используют PuTTY. Считается, что это лучший SSH-клиент для Windows. Он имеет весь необходимый набор инструментов для туннелирования, копирования файлов и так далее, пусть для этого потребуется скачивание дополнительных модулей.

С помощью защищенного протокола SSH администраторы подключаются к своим серверам для безопасной работы. Рассмотрим особенности этого протокола подробнее:

Что такое SSH-протокол

SSH-протокол (от англ. Secure Shell ) - криптографический сетевой протокол, предназначенный для удаленного доступа к операционной системе и осуществления безопасного удаленного управления в рамках незащищенной сети (например, через интернет).

SSH обеспечивает защищенный канал связи между клиентом и сервером, через который можно передавать данные (почтовые, видео, файлы), работать в командной строке, удаленно запускать программы, в том числе графические. SSH-сервер должен быть установлен на удаленной операционной системе. SSH-клиент должен быть запущен на машине, с которой будет осуществляться удаленное подключение.

Основные функции, доступные при использовании SSH-протокола:

  • Передача любых данных через защищенное SSH-соединение, включая сжатие данных для последующего шифрования.
  • X11 Forwarding - механизм, позволяющий запускать программы UNIX/Linux-сервера в виде графической оболочки, как в Windows (использовать X Window System).
  • Переадресация портов - передача шифрованного трафика между портами разных машин.

Безопасность SSH-соединения обеспечивается:

  • шифрованием данных одним из существующих алгоритмов
  • аутентификацией сервера и клиента одним из нескольких доступных методов
  • наличием дополнительных функций протокола, направленных на предупреждение различных хакерских атак

Аутентификация сервера дает защиту от:

  • взлома путем подмены IP-адресов (IP-spoofing), когда один удаленный хост посылает пакеты от имени другого удаленного хоста
  • подмены DNS-записей (DNS-spoofing), когда подменяется запись на DNS-сервере, в результате чего соединение устанавливается с хостом, который указан в подмененной записи, вместо необходимого
  • перехвата открытых паролей и других данных, передаваемых в открытом виде через установленное соединение

На сегодняшний день существуют две версии протокола SSH (SSH-1 и SSH-2), причем вторая версия усовершенствована и расширена по сравнению с первой. Например, вторая версия устойчива к атакам вида MITM («человек посередине», атака посредника). Также существуют две редакции данного протокола: открытая версия (бесплатная) и коммерческая (платная). Бесплатная версия - OpenSSH - встроена во все UNIX-подобные операционные системы в виде стандартных утилит SSH-клиента и SSH-сервера.

Коммерческая реализация SSH-протокола - SSH Communications Security - разработана одноименной организацией. Имеет небольшие отличия от бесплатной версии, такие как доступность коммерческой технической поддержки, наличие инструментов веб-управления и др. Основной набор команд и возможностей практически одинаковый у обоих продуктов.

Для ОС Windows выпущены различные SSH-клиенты и оболочки, самые распространенные из них - это бесплатные PuTTY и WinSCP . Для других операционных систем также существуют свои SSH-клиенты.

Что такое SFTP-протокол

SFTP-протокол (от англ. SSH File Transfer Protocol ) – сетевой протокол прикладного уровня, предназначенный для передачи файлов и других действий с ними через имеющееся надежное соединение. Протокол был разработан как расширение SSH-2, предназначенное для операций с файлами по защищенному каналу, однако может работать и с другими протоколами, обеспечивающими безопасное соединение сервера с клиентом. Иными словами, для надежной работы через SFTP-протокол необходимо иметь установленное защищенное соединение (например, SSH), которое проводит аутентификацию клиента и сервера и устанавливает факт их надежности, поскольку сам SFTP-протокол не проводит аутентификацию и не обеспечивает безопасность.

SFTP имеет ряд преимуществ перед своими предшественниками - FTP и SCP - таких, как прерывание передачи файла, удаление, возобновление передачи, связь переданных файлов с основными атрибутами, например, меткой даты/времени, а также более высокая платформонезависимость.

SFTP-протокол реализуется через SFTP-сервер и SFTP-клиент, которые являются подсистемами OpenSSH.

Для чего используются SSH и SFTP протоколы

Чаще всего протоколы SSH и SFTP используются для удаленной работы с операционной системой или переноса большого количества файлов.

Например, клиент берет в аренду сервер или какую-то часть серверного пространства. Возникает необходимость переносить туда уже имеющиеся данные клиента, например, сайт или почтовые файлы. Провайдер должен обеспечить надежность и быстроту обмена данными с его сервером, особенно если речь идет о больших объемах информации и ее высокой конфиденциальности. В этом случае на удаленной машине (в данном случае - виртуальном сервере) устанавливается SSH-сервер (со встроенным SFTP-протоколом), а на клиентском компьютере - SSH-клиент. Создается SSH-туннель, и обмен данными между клиентом и удаленным сервером осуществляется через надежное соединение со всеми преимуществами протокола, описанными выше.

Также SSH может использоваться для удаленной работы по защищенному соединению с различными сервисами провайдера, такими как программное обеспечение, операционные системы и т.д.

Как работает SSH

По протоколу SSH работает набор программ, служащих для выполнения различных действий на удаленной операционной системе. Например, программа sshd обеспечивает серверную функциональность SSH, она должна быть запущена на SSH-сервере. Программа ssh запускается на SSH-клиенте и позволяет устанавливать соединение с удаленным хостом, регистрироваться на нем, работать с удаленной машиной через SSH-соединение.

Для запуска тех или иных программ SSH-протокола существуют специальные команды с набором различных опций. Эти команды могут отличаться в зависимости от используемой клиентской операционной системы и оболочки SSH-клиента. Команды запускаются либо из командной строки, если речь идет о UNIX-подобных системах, либо посредством графического интерфейса в соответствующих SSH-оболочках.

Как подключиться по SSH

Если на вашем компьютере установлена ОС Windows, а на удаленной машине UNIX-подобная система (например, Linux), то для установки SSH-соединения можно использовать PuTTY . Это бесплатная программа под Windows состоит из одного запускаемого файла и не требует инсталляции.

Чтобы установить соединение при помощи PuTTY, необходимо проделать следующие действия.

Запустить PuTTY (putty.exe).


По умолчанию никаких дополнительных настроек проводить не нужно, можно убедиться, что указан 22-й порт и тип соединения Connection type - SSH. В поле Host Name (or IP address) нужно ввести имя удаленного компьютера или его IP-адрес и нажать кнопку Open .


Может появиться предупреждение системы безопасности PuTTY, однако если есть уверенность в том, что хост достоверен, то нужно нажать Да и продолжить соединение.


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


В следующей строке нужно ввести пароль для данного пользователя. При вводе пароля никакие символы в командной строке не отображаются, поэтому необходимо просто набрать пароль и нажать клавишу ввода (Enter). Если введены неправильные имя пользователя и пароль, то выведется ошибка « Access denied », в случае успешного подключения предоставляется командная строка удаленного компьютера.


Похожие статьи