Что такое ssh клиент для windows

PuTTY: Telnet/SSH Клиент

PuTTY — клиентская программа для работы с сетевыми протоколами Telnet, SSH, SCP, SFTP, для подключения по COM-порту и ZModem, утилита для генерации RSA, DSA, ECDSA, Ed25519 цифровых SSH-ключей.

PuTTY является свободным приложением с открытым исходным кодом, содержит реализацию сетевых протоколов SSH, Telnet, Rlogin, и распространяется под Open Source лицензией MIT.

Пакет PuTTY включает в себя несколько приложений:

  • PuTTY: Telnet и SSH клиент
  • PSCP: SCP клиент — копирование файлов по шифрованному протоколу с управлением из командной строки
  • PSFTP: SFTP клиент — копирование файлов по SSH, подобно FTP
  • PuTTYtel: отдельный Telnet клиент
  • Plink: интерфейс командной строки к PuTTY
  • Pageant: агент SSH-аутентификации для PuTTY, PSCP и Plink
  • PuTTYgen: утилита для генерации SSH-ключей

Вы можете скачать и установить, как полный инсталлятор, так и каждый модуль по отдельности. На странице загрузки PuTTY представлены бинарные файлы под Windows, и исходные коды, в том числе и под Linux/Unix. Помимо официальных релизов и поддерживаемых ОС, существуют аддоны и модификации PuTTY, созданные сторонними разработчиками. А кроме основной документации, рекомендуем ознакомиться с особенностями русской версии PuTTY, часто задаваемыми вопросами FAQ, со статьями, прямо или косвенно связанными с работой PuTTY, SSH, и работе с Linux в целом, а также каталогом цветовых схем PuTTY.

Новости PuTTY

21.12.2019 — Русская версия PuTTY 0.73-RU-17

  • Переход на версию PuTTY 0.73.
  • Временно деактивированы патчи, некорректно работающие с последними версиями PuTTY: Cygterm, Background Image, Wincrypt.
  • Другие исправления ошибок и незначительные багфиксы.

29.09.2019 — Релиз PuTTY 0.73

  • В Windows другие приложения могли привязываться к тому же TCP-порту, что и локальный port-forwarding порт PuTTY (см. vuln-win-exclusiveaddruse).
  • Исправлена ошибка при обработке терминалом режима xterm bracketed paste mode, из-за которой две escape-последовательности, заключенные в скобки, могли появляться вместе, что позволяло ошибочно идентифицировать вставленные данные как ручной ввод с клавиатуры (см. vuln-bracketed-paste-data-outside-brackets).
  • Сервер SSH-1, отправляющий сообщение об отключении, мог вызвать доступ к освобожденной памяти (см. ssh1-disconnect-use-after-free).
  • Plink под Windows падал при старте, если он действовал как connection-sharing downstream.
  • Теперь PuTTY под Windows корректно обновляет размер окна терминала, если разрешение экрана было изменено, а окно PuTTY в этот момент было развернуто на весь экран.
  • Исправлена ошибка, приводившая к потере символов в конце строк при обработке терминалом цветных сообщений GCC.
  • Исправлено плохое взаимодействие между операцией «Очистить прокрутку», и выделением мыши, которое могло приводить к появлению сообщений об ошибках.

20.07.2019 — Релиз PuTTY 0.72

Исправления безопасности, найденные в рамках финансируемой EU-FOSSA программы Bug Bounty:

  • Целочисленное переполнение при разборе длины пакета SSH-1 (см. vuln-ssh1-buffer-length-underflow).
  • Переполнение буфера в SSH-1, если сервер отправляет два крошечных ключа RSA (см. vuln-ssh1-short-rsa-keys).
  • Клиентский код Pageant под Windows не проверял поле длины ответа, что могло привести к уязвимости во всех инструментах SSH-клиента (PuTTY, Plink, PSFTP и PSCP), если вредоносная программа могла выдать себя за Pageant (см. vuln-win-pageant-client-missing-length-check).
  • Исправлен сбой при обмене ключами GSSAPI/Kerberos, затрагивающий сторонних поставщиков GSSAPI под Windows (например, MIT Kerberos для Windows).
  • Исправлен сбой при обмене ключами GSSAPI/Kerberos, происходивший если сервер предоставил обычных ключ хоста SSH как часть обмена.
  • Символы доверия («trust sigils» — значки PuTTY в начале локально сгенерированных строк в окне терминал — чтобы отличить их от данных, отправляемых сервером) никогда не отключались в SSH-1 или Rlogin.
  • Символы доверия никогда не включались снова, если пользователь инициировал перезапуск сеанса.
  • PSCP в режиме загрузки SCP мог создавать файлы с ложной новой строкой в конце их имени.
  • PSCP в режиме загрузки SCP с опцией -p генерировал ложные сообщения о несанкционированном переименовании файлов.
  • Начальное сообщение с инструкцией никогда не выводилось во время SSH keyboard-interactive аутентификации.
  • Вставка очень длинных строк во время совместного использования SSH-соединений могло вызвать падение downstream-окна PuTTY.
  • В раскладках клавиатуры с клавишей «,» на цифровой клавиатуре (например, немецкая) PuTTY под Windows могла вернуть «.» вместо «,».
  • PuTTYgen мог сгенерировать RSA-ключ на один бит короче, чем было запрошено.

Использование встроенного SSH клиента в Windows 10

В Windows 10 и Windows Server 2019 появился встроенный SSH клиент, который вы можете использовать для подключения к *Nix серверам, ESXi хостам и другим устройствам по защищенному протоколу, вместо Putty, MTPuTTY или других сторонних SSH клиентов. Встроенный SSH клиент Windows основан на порте OpenSSH и предустановлен в ОС, начиная с Windows 10 1809.

Установка клиента OpenSSH в Windows 10

Клиент OpenSSH входит в состав Features on Demand Windows 10 (как и RSAT). Клиент SSH установлен по умолчанию в Windows Server 2019 и Windows 10 1809 и более новых билдах.

Читайте также:  Яндекс браузер все версии mac os

Проверьте, что SSH клиент установлен:

Get-WindowsCapability -Online | ? Name -like ‘OpenSSH.Client*’

В нашем примере клиент OpenSSH установлен (статус: State: Installed).

Если SSH клиент отсутствует (State: Not Present), его можно установить:

  • С помощью команды PowerShell: Add-WindowsCapability -Online -Name OpenSSH.Client*
  • С помощью DISM: dism /Online /Add-Capability /CapabilityName:OpenSSH.Client

0.0.1.0

  • Через Параметры -> Приложения -> Дополнительные возможности -> Добавить компонент. Найдите в списке Клиент OpenSSH и нажмите кнопку Установить.
  • ]Бинарные файлы OpenSSH находятся в каталоге c:\windows\system32\OpenSSH\.

    • ssh.exe – это исполняемый файл клиента SSH;
    • scp.exe – утилита для копирования файлов в SSH сессии;
    • ssh-keygen.exe – утилита для генерации ключей аутентификации;
    • ssh-agent.exe – используется для управления ключами;
    • ssh-add.exe – добавление ключа в базу ssh-агента.

    Как использовать SSH клиенте в Windows 10?

    Чтобы запустить SSH клиент, запустите командную строку PowerShell или cmd.exe . Выведите доступные параметры и синтаксис утилиты ssh.exe, набрав команду:

    ssh
    usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
    [-D [bind_address:]port] [-E log_file] [-e escape_char]
    [-F configfile] [-I pkcs11] [-i identity_file]
    [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
    [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
    [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
    destination [command]

    Для подключения к удаленному серверу по SSH используется команда:

    Если SSH сервер запущен на нестандартном порту, отличном от TCP/22, можно указать номер порта:

    ssh username@host -p port

    Например, чтобы подключиться к Linux хосту с IP адресом 192.168.1.202 под root, выполните:

    При первом подключении появится запрос на добавление ключа хоста в доверенные, наберите yes -> Enter (при этом отпечаток ключа хоста добавляется в файл C:\Users\username\.ssh\known_hosts).

    Затем появится запрос пароля указанной учетной записи, укажите пароль root, после чего должна открытся консоль удаленного Linux сервера (в моем примере на удаленном сервере установлен CentOS 8).

    Если вы используете SSH аутентификацию по RSA ключам (см. пример с настройкой SSH аутентификации по ключам в Windows), вы можете указать путь к файлу с закрытым ключом в клиенте SSH так:

    ssh root@192.168.1.92 -i «C:\Users\username\.ssh\id_rsa»

    Также вы можете добавить ваш закрытый ключ в SSH-Agent. Сначала нужно включить службу ssh-agent и настроить ее автозапуск:

    set-service ssh-agent StartupType ‘Automatic’
    Start-Service ssh-agent

    Добавим ваш закрытый ключ в базу ssh-agent:

    Теперь вы можете подключиться к серверу по SSH без указания пути к RSA ключу, он будет использоваться автоматически. Пароль для подключения не запрашивается (если только вы не защитили ваш RSA ключ отдельным паролем):

    Еще несколько полезных аргументов SSH:

    • -C – сжимать трафик между клиентом и сервером (полезно на медленных и нестабильных подключениях);
    • -v – вывод подробной информации обо всех действия клиента ssh;
    • -R / -L – можно использовать для проброса портов через SSH туннель.

    SCP: копирование файлов из/в Windows через SSH

    С помощью утилиты scp.exe, которая входит в состав пакета клиента SSH, вы можете скопировать файл с вашего компьютера на SSH сервер:

    scp.exe «E:\ISO\CentOS-8.1.1911-x86_64.iso» root@192.168.1.202:/home

    Можно рекурсивно скопировать все содержимое каталога:

    scp -r E:\ISO\ root@192.168.1.202:/home

    И наоборот, вы можете скопировать файл с удаленного сервера на ваш компьютер:

    scp.exe root@192.168.1.202:/home/CentOS-8.1.1911-x86_64.iso e:\tmp

    Итак, теперь вы можете прямо из Windows 10 подключаться к SSH серверам, копировать файлы с помощью scp без установки сторонних приложений и утилит.

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

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

    Что такое SSH?

    SSH (Secure Shell) переводится дословно как «безопасная оболочка». В использовании 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. В настройках по умолчанию установлен порт TCP 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) после правильного ввода пароля появляется окно терминала удаленного сервера с приветствием; теперь можно выполнять необходимые команды.

    4. В случае если необходима авторизация по ключам DSA:

    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 X 10.7 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. Он имеет весь необходимый набор инструментов для туннелирования, копирования файлов и так далее, пусть для этого потребуется скачивание дополнительных модулей.

    Читайте также:  Как установить logon screen для windows 10
    Оцените статью