Клиент SSH: настройка. Лучший SSH-клиент

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

Что такое SSH?

Дословно SSH (Secure Shell) можно перевести как «безопасная оболочка».SHH в использовании –это сетевой протокол, при помощи которого осуществляется безопасное управление операционной системой удаленного узла в сети. Данный протокол обеспечивает защищенное соединение, передачу данных с одного хоста на другой путем шифрования проходящего через него трафика. SSH позволяет создавать шифрованные туннели для осуществления безопасной передачи других сетевых протоколов через незащищенную сеть, например, через Интернет. Его также часто используют для перенаправления портов одного компьютера на порты другого. Основателем SSH принято считать Тату Илёнена из Финляндии, который в 1995 году использовал его как конфиденциальный протокол. Данная версия была названа SSH-1. Эта версия протокола на сегодняшний день практически нигде не используется. В 1996 году увидела свет новая совершенствованная версия SSH-2. С SSH-1 она несовместима. Более защищенная сеть обладает расширенным списком алгоритмов шифрования. Сегодня, когда говорят об SSH, имеют в виду именно SSH-2. Данный протокол с 2006 года признан ассоциацией IETF как интернет стандарт. Сегодня существует две реализации SSH. Одна из них является проприетарной. Ее разработчиком выступает Communications Security. Вторая реализация – Open SSH, — была создана под руководством Тео де Раадта в качестве свободной открытой альтернативы первой. Open SSH сегодня является наиболее распространенной. Она включена в поставку большинства UNIX-подобных систем.

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

Для организации подключения по протоколу SSH необходимо использовать два основных компонента: клиент и сервер. Если говорить простыми словами,через клиент, установленный на локальном компьютере, пользователь получает доступ к серверу (удаленной машине). Необходимо отметить, что клиент может иметь графическую оболочку или работать в терминале. SSH сервер прослушивает сетевые подключения клиентов. При получении запроса на коннект сервер производит для авторизации необходимые действия. В случае удачного прохождения он запускает службу, установленную для удаленного клиента. Для организации безопасного доступа используется процедура аутентификации при использовании ассиметричного шифрования с публичным ключом в случае первого подключения. При следующих подключениях используется симметричное шифрование. В стандарт SSH входят три протокола. Протокол транспортного уровня отвечает за аутентификацию сервера, целостность и секретность. Он также обеспечивает сжатие информации и может работать поверх TCP/IP. Для аутентификации клиента на сервере используется протокол аутентификации. Он действует поверх уровня транспортного протокола. Протокол соединения используется для представления зашифрованного канала в виде мультиплексированного канала из нескольких логических каналов, которые используются для различных служб. Он работает поверх канала аутентификации. Увеличения уровня безопасности гарантировано за счет аутентификации клиента для сервера, к которому обращается SSH-клиент, и аутентификацией сервера клиентом. Таким образом, осуществляется аутентификации сразу двух сторон. Клиент отправляет свой запрос в первый раз при установлении безопасного соединения транспортного уровня. Во второй раз запрос направляется после завершения аутентификации клиента SSH.

Open SSH

Open SSH представляет собой открытую реализацию команды Open BSD. Благодаря свободному распространению она является самой распространенной версией. В пакет Open SSH входит следующие инструменты:

— SSHD – серверная часть;

— SSH – клиентская часть;

— SCP – утилита для защищенного копирования файлов;

— SSH-keygen – генерирует для компьютеров и пользователей открытые ключи (RSA, DSA и другие);

— SSH-agent – используется для хранения личных RSA ключей с целью их последующей авторизации с публичными ключами;

— SSH-keyscan – собирает публичные ключи в сети;

— SSH-add– добавляет новые личные ключи для SSH-agent;

— SFTP-сервер;

— SFTP – утилита, предназначенная для успешного копирования файлов FTP.

Пакет Open SSH входит в поставку для большинства UNIX-систем. Наиболее распространенными системами считают Open BSD, Linux, Solaris, Irix, HP-UX, MacOSи другие. Активная разработка ведется в реализации Open SSH for Windows. Она находится в интернете в открытом доступе. Она дает возможность создавать SSH-сервер в операционных системах семейства Windows. Open SSH for Windows входит в поставку CygWin. К наиболее популярным среди пользователей относят дистрибутивы, выполненные на базе ядра Linix. Все приведенные далее примеры использования SSH будут подразумеваться при настройке Open SSH. Чтобы более наглядно рассмотреть работу в Linux, настройку SSH-клиента рассмотрим на базе Ubuntu. Также рассмотрим процесс настройки для Mac OSX и Windows.

Open SSH server: установка и настройка

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

  1. Существует два способа установки Open SSH-server.
    • Необходимо выбрать сразу в процессе разворачивания UbuntuServer установку пакета OpenSSH-server;
    • Скачать и установить путем выполнения команды k:-ssudoapt-getinstallopenssh-server;
  2. Просмотреть значения конфигурации сервера SSHD в файле /etc/ssh/sshd_config. Сделать это можно путем использования команды: Think:- $ mansshd_config.
  3. Прежде чем менять стандартные настройки, необходимо обязательно создать резервную копию файла. Также файл необходимо защитить от записи. Сделать это необходимо для того, чтобы при необходимости выполнить откат до значения по умолчанию при возникновении ошибки.
  4. По умолчанию в настройках установлен порт TCP Рекомендуется для безопасности заменить его на нестандартное значение, например, на 5754. Для изменения директивы Port можно использовать команду: Think:$- Port 5754.
  5. Сохраните файл /etc/ssh/sshd_config и выполните перезапуск SSHD.

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

Open SSH-Client: кроссплатформенный клиент для терминала

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

Как установить и настроить Open SSH-client на Ubuntu

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

  1. По умолчанию в Ubuntu не добавлен дистрибутив Open SSH-client. Установить его можно при помощи команды: Think:-$ sudoapt-getinstallopenssh-client
  2. После того как программа будет установлена, необходимо вызвать ее командой SSH из терминала без Root.
  3. При использовании аутентификации пользователей по паролю:

— подключение осуществляется при помощи команды: Think:-$sshusername@host.Username здесь это имя учетной записи на удаленной машине, а host- IP-адрес удаленного сервера;

— после ввода команды следует нажать на кнопку Enter. В результате должен появиться запрос на ввод пароля;

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

— после правильного ввода пароля должно появиться окно терминала удаленного сервера с приветствием;

— вот все, теперь можно выполнять нужные команды.

  1. Если требуется авторизация по ключам DSA:

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

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

— публичный сгенерированный ключ нужно скопировать на удаленную машину и добавить его к авторизации /home/user/.ssh/authorized_keys при помощи команды. Теперь пользователь сможет авторизоваться без ввода пароля на сервере SSH.

Open SSH: установка и настройка для Gywin Terminal в операционной системе Windows

Установка Cygwin осуществляется путем запуска файла Cygwin.exe. Его можно скачать с официального сайта.Cygwin представляет собой сборку множества различных пакетов. Для осуществления работы с удаленным терминалом необходим только OpenSSH. Найти его можно в самом Cygwin при помощи поиска. После завершения установки пакета необходимо запустить CygwinTerminal и выполнить команду: $ sshroot@ssh.example.com. После этого необходимо нажать на клавишу Enter. В результате должен появиться запрос на ввод пароля. После прохождения процедуры аутентификации появляется терминал удаленного сервера с приветствием. Синтаксис здесь абсолютно такой же, как и в Open SSH-Client, реализованном для операционной системы Linux.

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

Putty представляет собой графический клиент для удаленного администрирования. Он включает в себя поддержку протокола SSH. Данная программа обладает открытым кодом. Распространяется она абсолютно бесплатно. Изначально SSH-клиент выпускался только для операционной системы Windows. Сегодня практически во все популярные дистрибутивы входит клиент для Linux. Также ведется активная разработка клиента для MacOSX. Окно настройки PuTTY во всех операционных системах выглядит одинаково. Разница заключается только в способах установки. Сначала мы приведем только способы установки для трех операционных систем. Позже будут приведены параметры настройки PuTTY.

PuTTY: установка для Linux Ubuntu

  1. Для установки PuTTY необходимо использовать команду: Think:-$ sudoapt-getPuTTY
  2. Для запуска необходимо использовать команду putty из терминала или кликнуть мышкой по меню: Think:-$ putty
  3. В результате будет открыто окно настроек клиента, в котором нужно задать параметры соединения.

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

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

PuTTY: клиент для Mac

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

  1. Установка XCode. Так называется пакет утилит и программы от компании Apple для сборки и разработки приложений для операционной системы MacOSX. Начиная с версии операционной системы MacOSX7 Lion необходимо поставить с сайта AppleDeveloper«CommandLineToolsforXcode». После выполнения установки, необходимо принять лицензионное соглашение.
  2. Установка Xquartz. Под таким названием распространяется реализация сервера X.OrgXWindowsSystem (X11) для операционной системы MacOSX. Она необходима для GUIверсии PuTTY, разработанного на GTK+. Ее можно установить с официального сайта. После установки необходим релогин.
  3. Установка Homebrew.
  4. Проверка на корректность установки. Осуществляется путем ввода команды: bash-3.2$ brewdoctor
  5. Установка Putty при помощи команды: bush-3.2$ brew install putty –with-gtk+

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

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

Настройка Putty-клиента

Процесс настройки SSH-клиента Putty осуществляется одинаково во всех операционных системах. Его внешний вид может отличаться в зависимости от оформления рабочего окружения. Чтобы подключить по SSH к удаленной машине, необходимо запустить PuTTY. После этого в появившемся окне программы нужно установить следующие параметры:

  • Connection Type – SSH;
  • HostName– имя хоста или IP адрес;
  • Port – прослушиваемый порт, в качестве примера выше был указан порт 5754;

При желании можно сохранить настройки данной сессии. В случае нажатия на кнопку Open появится окно терминала. Здесь требуется ввести имя учетной записи удаленного компьютера, а также пароль. При необходимости аутентификации клиента ключами необходимо использовать утилиту puttygen.exe. Данная утилита генерирует свою пару ключей – public и private.Публичный ключ генерируется в стандарте SSH, и его необходимо добавить на сервер. Для добавления ключа можно использовать Putty или Open SSH в терминале. Приватный ключ генерируется в формате .ppk и добавляется в клиент.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *