Работа с ssh в windows

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

Содержание:

  • Установка клиента OpenSSH в Windows 10
  • Как использовать SSH клиенте в Windows 10?
  • SCP: копирование файлов из/в Windows через SSH

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

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

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

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

'OpenSSH.Client установка в windows 10

В нашем примере клиент 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 установить компонент

]Бинарные файлы OpenSSH находятся в каталоге c:\windows\system32\OpenSSH\.

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

исполняемые файлы OpenSSH

Вы можете установить OpenSSH и в предыдущих версиях Windows – просто скачайте и установите Win32-OpenSSH с GitHub (есть пример в статье “Настройка SSH FTP в Windows”).

Как использовать 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 клиента в windows

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

ssh username@host

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

ssh username@host -p port

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

ssh [email protected]

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

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

подключение из windows 10 в linux с помощью встроенного ssh клиента

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

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

ssh [email protected] -i "C:\Users\username\.ssh\id_rsa"

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

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

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

ssh-add "C:\Users\username\.ssh\id_rsa"

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

ssh [email protected]

Еще несколько полезных аргументов 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" [email protected]:/home

scp.exe копирование файлов через ssh

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

scp -r E:\ISO\ [email protected]:/home

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

scp.exe [email protected]:/home/CentOS-8.1.1911-x86_64.iso e:\tmp

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

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

Уровень сложности
Простой

Время на прочтение
5 мин

Количество просмотров 57K

Программистов, сисадминов, devops’ов, тестировщиков часто объединяет использование некоторых общих технологий. Например, возможность иметь удалённый доступ к серверу пригодилось бы любому из указанной выше анекдотичной компании. Поэтому в этой статье мы рассмотрим основы работы с протоколом SSH на базовом уровня (без генерации ключей, подписей, мам, пап и кредитов). «Продвинутое» использование посмотрим уже отдельно, в следующий раз. Материал подготовил Макс, автор YouTube-канала PyLounge. Поехали!

Введение

SSH (Secure SHell — защищенная оболочка) — сетевой протокол прикладного уровня, предназначенный для безопасного удаленного доступа к различным системам (Linux, Windows, Mac).

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

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

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

SSH-сервер

Устанавливается на управляемой операционной системе и принимает входящие подключения от клиентских машин, проверяя соединение одним из способов:

  • по IP-адресу клиента, что не слишком безопасно из-за риска подмены;

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

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

Платные и бесплатные SSH-серверы есть для всех распространенных ОС:

  • BSD — OpenSSH;

  • Linux — dropbear, lsh-server, openssh-server;

  • Windows — freeSSHd, copssh, WinSSHD, OpenSSH и т. д.

SSH-клиент

Используется для входа на удаленный сервер и выполнения команд. Через клиент выполняется управление удаленным компьютером.

SSH-клиенты разработаны для всех ОС. Имеют платные и бесплатные версии:

  • Linux/BSD — openssh-client, putty, ssh, Vinagre;

  • Windows — PuTTY, SecureCRT, ShellGuard;

  • Android — connectBot.

Встроенный SSH-клиент Windows, основанный на OpenSSH, предустановлен в ОС, начиная с Windows 10 1809.

Установка OpenSSH на Ubuntu

Установка с помощью менеджера пакетов apt-get:

sudo apt-get install openssh-server

Проверка SELinux

Security Enhanced Linux, или SELinux – это усовершенствованный механизм контроля доступа, встроенный в большинство современных дистрибутивов Linux. Первоначально он был разработан Агентством национальной безопасности США для защиты компьютерных систем от вторжения злоумышленников и взлома. SELinux также может помешать работе с ssh. Поэтому необходимо убедиться, что он отключен, либо отключить его.

Устанавливаем доп. инструменты для работы с сетью и настройками безопасности:

sudo apt-get install policycoreutils
sudo apt-get install net-tools

Проверяем статус SELinux. Состояние должно быть disable.

sestatus

Подключение к виртуальной машине с типом подключения NAT

Если виртуальная машина использует тип сетевого подключения NAT, то первоначально необходимо настроить проброс портов. Пробросим порт хоста 2222 (или любой свободный) на гостевой порт виртуальной машины номер 22 (порт ssh по умолчанию).

После этого мы можем подключиться из Windows к нашей виртуальной машине.

Подключение по ssh через PuTTY

Т.к. в качестве сетевого подключения у виртуальной машины используется NAT, при подключении мы будем указывать петлевой адрес localhost (127.0.0.1) c портом, на который был назначен проброс.

После этого вводим имя пользователя (пользователь должен существовать в linux!!!) и пароль от этого пользователя.

Подключение по ssh через Командную строку Windows (cmd)

Запускаем командную строку сочетанием клавиш Win + R . В открывшемся окне указываем cmd. Нажимаем OK.

В общем видео подключение по ssh имеет вид:

ssh имя_пользователя@ip_адрес_компьютера_к_которому_подключаемся -p порт

Если для подключения используется стандартный порт ssh — 22, то порт можно не указывать.

В открывшемся окне вводим команду:

ssh student@127.0.0.1 -p 2222

Вводим пароль пользователя. Всё. Вы великолепны!

Подключение к виртуальной машине с типом подключение Сетевой мост

С типом подключения Сетевой мост необходимо выдать статический ip для Linux системы. Дальнейшее подключение будет уже по этому, выданному ip, а не через localhost.

Установка статического ip

Начиная с выпуска Ubuntu 17.10 NetPlan теперь это инструмент настройки сети по умолчанию для управления настройками сети, заменяющий файл конфигурации /etc/network/interfaces, который использовался в предыдущих версиях.

Файлы конфигурации для Netplan находятся в каталоге /etc/netplan и написаны на языке YAML. В этом каталоге вы найдете файлы конфигурации YAML.

Откроем конфигурационный файл:

sudo nano /etc/netplan/*.yaml

Отредактируем конфигурационный файл:

network:  
  version: 2
  renderer: NetworkManager
  ethernets:
      enp0s3:
          dhcp4: false
          addresses: [10.40.0.224/24]
          gateway4: 10.40.0.1
          nameservers:
              addresses: [10.2.0.8, 10.2.0.3]

Здесь:

  • ethernets — указывает на проводное Ethernet подключение;

  • enp0s3 — имя сетевого интерфейса (можно узнать командой ifconfig);

  • dhcp4 — автоматическая выдача ipv4-адреса с помощью службы dhcp (для ipv6 указывать dhcp6);

  • addresses — ip-адрес и маска сети, которые назначаются компьютеру;

  • gateway4 — шлюз по умолчанию;

  • nameservers — список dns-серверов.

Посмотреть настройки можно с хостовой машины на Windows с помощью команды ipconfig /all.

Чтобы применить изменения и перезагрузить сеть, вводим команду:

sudo netplan apply

Подключение по ssh

Запускаем командную строку сочетанием клавиш Win + R . В открывшемся окне указываем cmd. Нажимаем OK.

В открывшемся окне вводим команду:

ssh student@10.40.0.224

Вводим пароль пользователя. Всё. Вы великолепны (2)!

Заключение

Несмотря на высокую защиту протокола, использование стандартного порта значительно повышает риск взлома сервера. Например, это можно сделать при помощи brute-force (атака полным перебором). Порт 22 — открытый, поэтому злоумышленнику нужно только подобрать логин и пароль к серверу. Это сложно, но возможно. Чтобы максимально ограничить доступ к серверу для злоумышленников (настроить брандмауэр, iptables), можно сменить SSH-порты.

Ресурсы, которые использовал

  1. Как включить SSH в Ubuntu 20.04 (Routerus):https://routerus.com/how-to-enable-ssh-on-ubuntu-20-04/

  2. Коротко об SSH / Хабр: https://habr.com/ru/sandbox/166705/

  3. Что такое SSH (блог REG.RU): https://help.reg.ru/support/hosting/dostupy-i-podklyucheniye-panel-upravleniya-ftp-ssh/chto-takoye-ssh

SSH является основным решением для безопасного доступа к удаленным терминалам в Linux и других UNIX-подобных системах. Если у вас есть удаленный SSH сервер, к которому вы хотите получить доступ, вам придется загрузить SSH клиент. В Windows его нет, хотя Mac OS X, Linux и даже Google Chrome OS имеют встроенные SSH-клиенты.

Конечно, в Windows есть клиент Telnet, однако он ужасно небезопасен и не рекомендуется к использованию, если только вы не подключены напрямую к удаленной системе и не подключены к Интернету.

FireSSH для Firefox

Firefox известен своими мощными расширениями для браузера, FireSSH является одним из них. Это SSH-клиент, реализованный в виде расширения Firefox, которое работает в вашем браузере, точно так же как FireFTP добавляет мощные возможности FTP в Firefox.

После установки FireSSH нажмите кнопку меню Firefox, выберите Веб-разработчику и нажмите FireSSH, чтобы запустить его. Главная вкладка позволяет вам ввести имя учетной записи, имя хоста и логин, необходимые для вашего SSH-сервера. Вкладка Дополнительно позволяет вам настроить SSH туннелирование, чтобы вы могли туннелировать свой трафик через удаленный SSH сервер. SSH туннелирование имеет множество применений, включая защиту от подслушивания в общедоступных Wi-Fi сетях, удаленный доступ к ресурсам в локальной сети, обход веб-фильтрации и просмотр Интернета, как если бы вы находились в другой стране.

Расширение FireSSH также работает на Mac OS X и Linux.

Secure Shell для Google Chrome

FireSSH также доступен и для Google Chrome, но Google предоставляет собственное официальное клиентское веб-приложение SSH. Просто установите приложение Secure Shell из интернет-магазина Chrome. Хоть оно и написано с использованием веб-технологий и работает в браузере Chrome, оно работает полностью автономно, поэтому вам не нужен доступ в Интернет, если вы хотите подключиться к SSH-серверу, работающему в локальной сети.

Secure Shell открывается в виде вкладки браузера и позволяет подключаться к серверу путем ввода имени пользователя и хоста (IP-адреса) удаленного SSH-сервера. При необходимости вы также можете добавить дополнительные аргументы командной строки SSH. Как и в других веб-приложениях Chrome, вы можете открыть Secure Shell в собственном специальном окне, чтобы отделить его от основного окна браузера. Secure Shell менее гибка, чем FireSSH для Firefox, так как вы не можете настроить SSH туннелирование — все потому, что Firefox имеет более мощную систему расширений.

Поскольку Secure Shell — это веб-приложение Chrome, оно также доступно для Mac OS X, Linux и даже в Chrome OS.

PuTTY для ОС Windows

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

PuTTY предлагает больше мощности и опций, чем другие клиенты SSH, работающие в качестве настольного приложения Windows. Как и FireSSH, PuTTY также предлагает функции SSH туннелирования. Чтобы использовать PuTTY, достаточно запустить putty.exe, ввести имя хоста (или IP-адрес) удаленного сервера, убедиться, что порт правильный, и нажать Open. PuTTY подключится к серверу и предложит ввести имя пользователя и пароль. Вы также можете сохранить информацию о сеансе, для этого нажмите опцию Default Settings затем Save и PuTTY автоматически будет использовать сохраненные настройки каждый раз, когда он открывается.

Если вы хотите настроить SSH туннелирование в PuTTY, перейдите в меню Connection -> SSH ->  Tunnels.

OpenSSH для Cygwin Terminal

Если вы регулярно используете стандартную команду SSH на Linux, Mac OS X и других UNIX-подобных системах, вы можете установить и применить ту же самую команду на Windows, вместо того чтобы связываться с графическими программами. OpenSSH напрямую не совместима с Windows, но может быть установлена в составе пакета утилит типа UNIX для Windows, поставляемого Cygwin.

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

Просто установите Cygwin — это большой пакет, потому что он устанавливает больше утилит, чем просто OpenSSH. Когда появится запрос на выбор пакетов, выполните поиск OpenSSH, разверните раздел Net и щелкните «Skip» слева от пакета OpenSSH. Это позволит выбрать нужный номер версии для установки.

После завершения процесса установки вы можете запустить приложение Cygwin Terminal и выполнить те же SSH-команды, что и в UNIX-подобных операционных системах.

Какое приложение лучше использовать?

И так, какой все-таки клиент SSH лучший? Это зависит от того, что вам нужно:

  • Если вам нравится идея использования SSH в браузере, то несомненно вам подойдут FireSSH для Firefox или Secure Shell для Chrome. Но имейте в виду, что Secure Shell для Chrome является самым ограниченным из этих двух в нем нет SSH туннелирования.
  • Если вам нужно мощное приложение SSH с графическим интерфейсом, позволяющим настраивать параметры и сохранять информацию о сеансе, используйте PuTTY. Это самый популярный клиент Windows SSH и изучить его довольно просто.
  • Если вам нужна классическая команда SSH без графического интерфейса, используйте Cygwin.

Если бы нам пришлось порекомендовать одну из них, мы бы сказали, что большинству пользователей подойдет PuTTY.

Какой ваш любимый клиент SSH на Windows? Оставьте свой комментарий и дайте нам знать, особенно если мы не упомянули об этом выше.

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

Что такое SSH?

SSH или Secure Shell (что в переводе значит «безопасная оболочка») — это сетевой протокол, используемый для подключения к удаленным компьютерам и управлениями ими с помощью технологии туннелирования.

Если у вас, к примеру, есть сервер в Timeweb под управлением Linux, то вы наверняка подключаетесь к нему через OpenSSH (серверная реализация Secure Shell с открытым исходным кодом). То есть вводите сначала команду в духе ssh root@192.168.60.55 и потом выполняете команды, связанные непосредственно с ОС. Подобные возможности дают технологии Telnet и rlogin, но они не особо прижились.

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

А что такое SSH-клиент?

Это приложение на стороне клиента, которое используется для передачи команд на удаленный компьютер. В примере выше мы говорили о подключении к серверу через терминал в macOS и Linux. Чтобы провернуть подобное в Windows, нужна специальная программа. Например, PuTTY.

Зачастую SSH-клиенты выполняют те же задачи, что и терминал, но обладают расширенной функциональностью. У них схожие принципы работы, и все различия можно оценить только в специфичных сценариях использования Secure Shell.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Выбираем SSH-клиент

Мы уже выяснили, что обособленно пользователи получить какую-то пользу от протокола не могут. Для управления нужна дополнительная утилита. Вопрос в том, какая именно. Secure Shell настолько востребован, что разработчики создали уже несколько десятков SSH-клиентов под различные платформы. В этом материале рассмотрим лучшие из них, разработанные для Windows, macOS и Linux.

Некоторые из них кроссплатформенные (то есть работают сразу на нескольких ОС) или запускаются в браузерах (это тоже делает их универсальными).

SSH-клиенты для Windows

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

PuTTY

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

Интерфейс приложения PuTTY

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

Утилита поддерживает протоколы SCP, SSH, rlogin и Telnet, а также работает со всеми методами шифрования данных.

Оригинальная программа доступна только для Windows, но есть порты от сообщества под другие платформы

Скачать с официального сайта

KiTTY

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

KiTTY базируется на PuTTY, но обладает массой преимуществ. Можно:

  • выставлять собственные фильтры для отдельных сессий;
  • хранить настройки в конфигурационной файле самой утилиты (чтобы хранить ее на флэшке, например, сохраняя настройки);
  • создавать алиасы для часто используемых команд (и наборов команд);
  • добавлять скрипты для автоматический аутентификации на сервере;
  • использовать гиперссылки;
  • настраивать интерфейс, меняя цвет текста, шрифты, степень прозрачности окна и другие визуальные элементы.

Скачать программу

MobaXterm

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

Интерфейс терминала MobaXterm

Проект условно-бесплатный, поэтому большая часть функций недоступна до оплаты. Если не покупать платную версию, то функциональность MobaXterm будет мало чем отличаться от таковой в PuTTY. За профессиональную версию придется отдать 69 долларов.

Скачать MobaXterm

Solar-PUTTY (бывший SolarWinds)

Один из немногих SSH-клиентов с современным интерфейсом. Это платная программа, что несомненно является ее недостатком. Но, в отличие от популярнейшего PuTTY, Solar умеет гораздо больше интересных вещей и лишен недостатков оригинала.

Интерфейс Solar-PuTTY

Например:

  • Сохраняет данные для входа. Не приходится постоянно проходить авторизацию заново.
  • Работает сразу с несколькими сессиями в одном окне (по вкладке на каждую).
  • Автоматически восстанавливает подключение, если оно по какой-то причине было утеряно.
  • Интегрирован в поисковик Windows.
  • Не требует установки. Всегда работает в portable-режиме.

Приложение обойдется в 99 долларов (~7650 рублей)

SmarTTY

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

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

Также в SmarTTY встроен многофункциональный текстовый редактор с возможностями Nano и hex-терминал для отслеживания COM-портов. А еще есть portable-версия, для работы с которой даже не нужно выполнять установку.

Скачать программу

Xshell

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

Он поддерживает командную строку Windows и протокол SCP. Также в него встроен файловый менеджер для управления документами в графической среде.

Интерфейс XShell

Можно записывать выполняемые команды и превращать «записанный» материал в один скрипт, который после можно перезапустить в любой момент.

Скачать клиент

Tera Term

Популярный эмулятор терминалов для Windows с открытым исходным кодом. Может имитировать DEV VT100, DEC VT382 и другие модели. Написан на языках С и С++. Поддерживает технологии Telnet, SSH 1 и SSH 2.

Tera Term можно интегрировать с другими приложениями с помощью встроенного веб-сервера. В нем можно настроить повторяющиеся команды, поддерживающие терминал в рабочем состоянии, создавать скрипты на собственном языке Tera Term Language.

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

Распространяется бесплатно, как и другие Open-Source-продукты.

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

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

Terminal

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

Чтобы подключиться через терминал к серверу, надо ввести команду:

ssh *имя_пользователя*@*адрес_сервера*

В моем случае это выглядит так:

ssh root@82.96.152.28 

После этого терминал запросит разрешение на установку соединения с удаленным сервером. Нужно согласиться, введя команду Yes и пароль администратора, чтобы авторизоваться и получить контроль над удаленным ПК.

Asbru Connection Manager (Linux)

Бесплатный интерфейс для удаленного подключения к серверу и автоматизации повторяющихся на нем задач. У Asbru простой механизм настройки соединения с VDS и есть свой язык для создания скриптов, как в SecureCRT.

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

Интерфейс программы Asbru

А еще он грамотно вписывается в интерфейс GTK и в окружение GNOME как визуально, так и в техническом плане.

Asbru можно запустить на Windows, используя компоненты Xming и включив WSL, но это весьма специфичный сценарий.

Muon

Бывший Snowflake. Графический клиент для подключения к серверу по протоколам SFTP и SSH. Включает в себя текстовый редактор, анализатор пространства на жестком диске, утилиту для считывания логов и прочие полезные инструменты.

Интерфейс приложения Muon

Из прочих преимуществ отмечу:

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

Muon создавался с прицелом на веб-разработчиков, работающих над бэкэнд-составляющей сайтов.

SSH-клиенты для macOS

Компьютеры Apple поддерживает подключение по протоколу SSH прямо из встроенного терминала. Для этого используется та же команда, что и в Linux:

ssh *имя_пользователя*@*адрес_сервера* 

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

iTerm 2

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

SHH-клиент iTerm2

Отдельно отметим функцию Instant Playback. С помощью нее можно воспроизвести одну или несколько команд, которые были выполнены ранее, не вводя их заново. Ну а еще тут можно выделять, копировать и вставлять текст, не используя мышь (пользователи macOS поймут).

Скачать утилиту

Shuttle

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

Все параметры хранятся в файле ~/.shuttle.json, который идет в комплекте с базовой утилитой. Туда можно прописать любой скрипт, используемый вами в терминале, а потом запускать его прямо с панели инструментов через компактный графический интерфейс Shuttle. Это может заметно ускорить выполнение кучи рутинных процедур.

Скачать программу

Core Shell

SSH-клиент для macOS, поддерживающий работы сразу с несколькими хостами. Можно быстро между ними переключаться в одном окне с помощью вкладок или выделить каждый из них в отдельное окно. Каждому хосту назначается своя цветовая гамма. Чтобы было еще проще их разбивать по категориям, Core Shell поддерживает систему тегов.

Используя Core Shell, можно подключиться к VDS через прокси-сервер и выполнять переадресацию агента SSH.

Core Shell поддается скрупулезной настройке и «подгонке под себя». Причем клиент способен запоминать глобальные параметры для всех хостов и отдельные параметры для каждого из хостов. А еще в него интегрирована поддержка iCloud Keychain (хранилище паролей Apple).

Скачать Core Shell

Кроссплатформенные клиенты

Эмуляторы терминала, написанные на языках, поддерживающих сразу несколько операционных систем.

Hyper

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

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

SSH-клиент Hyper

Если вы перфекционист и привыкли к изысканным интерфейсам macOS, то Hyper станет правильным выбором. Он здорово впишется в дизайн ОС Apple благодаря своим плавным линиям и приятными анимациям.

Доступен на Windows, macOS и Linux. Распространяется бесплатно.

Terminus

Терминал нового поколения (как его называют разработчики). Кроссплатформенный эмулятор терминала с поддержкой WSL, PowerShell, Cygwin, Clink, cmder, git-bash и десятка других технологий.

Есть полезные опции, такие как восстановление закрытых вкладок из предыдущей сессии и кликабельные пути к директориям.

Интерфейс Terminus можно настроить под себя с помощью разметки CSS. То же касается и функциональной составляющей. Ее можно «прокачать» за счет сторонних плагинов, число которых постепенно растет.

Доступен на Windows, macOS и Linux. Распространяется бесплатно.

Tectia

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

Tectia поддерживает стандарт аутентификации X.509 PKI, задействует сертифицированные криптографические методы FIPS 140-2 и может работать со смарткартами. Услугами Tectia пользуются такие внушительные структуры, как NASA и Армия США. Они доверяют Tectia, потому что это стабильный SSH-клиент с круглосуточной отзывчивой поддержкой. Как любой дорогой коммерческий продукт.

Доступен на Windows, Linux и других UNIX-подобных ОС. Обойдется в 133 доллара за клиент-версию и 650 долларов за сервер-версию.

Termius

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

SSH-клиент Termius

Он адаптирован под сенсорные экраны и синхронизируется между всеми вашими устройствами, используя стандарт шифрования AES-256.

Доступен сразу на пяти платформах, включая мобильные. Распространяется по подписке за 9 долларов (~700 рублей).

Poderosa

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

Из функций создатели Poderosa выделяют удобный мультисессионный режим, когда экран делится на несколько частей и показывает сразу несколько терминалов. Можно также создать несколько вкладок, в каждый из которых будет по 4 терминала.

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

Доступен на Windows и macOS. Стоит 33 доллара (~2550 рублей)

SecureCRT

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

SSH-клиент SecureCRT

Из отличительных функций можно отметить возможность создавать свои горячие клавиши, менять цвет отображаемого контента, искать по ключевым словам, запускать несколько окон с разными или одним сервером, открывать несколько сессий в разных вкладках. Также функциональность SecureCRT можно расширить за счет скриптов на языках VBScript, PerlScript и Python.

Доступен сразу на трех ОС. Распространяется по подписке за 99 долларов (~7600 рублей)

SSH-плагины для браузеров

Портативные SSH-клиенты, запускающиеся внутри браузеров и не требующие специфической ОС.

Chrome Secure Shell App

Google Chrome уже давно метит в полноценную платформу с функциональностью операционной системы. Поэтому разработчики из команды Google Secure Shell поспешили создать для него полнофункциональный эмулятор терминала.

С помощью Chrome Secure Shell App можно подключиться к серверу по протоколу SSH и выполнять стандартные команды, к которым вы привыкли, во встроенном терминале или в условном PuTTY. Разница отсутствует.

Получалась неплохая бесплатная альтернатива для тех, кто не хочет ставить сторонние приложения.

FireSSH

Еще один плагин, имитирующий терминал в браузере. Ранее он функционировал внутри Firefox, но компания Mozilla ограничила поддержку расширения. Поэтому сейчас FireSSH работает только в Waterfox. Это инди-форк от Firefox.

Он написан на JavaScript, распространяется бесплатно и помещает в браузерную среду все возможности стандартного SSH-клиента (на уровне терминала).

Скачать

Выводы

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

В этой статье мы расскажем, как работает SSH-клиент, как его установить, а также как подключиться к Ubuntu и Windows 10 по SSH. Но давайте сначала разберёмся, что такое SSH.

Что такое SSH

SSH (Secure Shell) — сетевой протокол прикладного уровня, который позволяет управлять операционной системой и выполнять функцию тунеллирования TCP-соединения. Работа SSH построена на взаимодействии 2-х компонентов: SSH-сервера и SSH-клиента. Подробнее читайте в статье Что такое SSH.

SSH-сервер по умолчанию прослушивает соединения на порту 22, а также требует аутентификации сторон. Есть несколько вариантов проверки соединения:

  • по паролю. Используется чаще всего. При таком типе аутентификации между клиентом и сервером создаётся общий секретный ключ: он шифрует трафик;
  • с помощью ключевой пары. Предварительно генерируется открытый и закрытый ключ. На устройстве, с которого нужно подключиться, хранится закрытый ключ, а на сервере — открытый. При подключении файлы не передаются, система только проверяет, что устройство имеет доступ не только к открытому, но и к закрытому ключу.
  • по IP-адресу. При подключении система идентифицирует устройство по IP-адресу. Такой тип аутентификации небезопасен и используется редко.

OpenSSH (Open Secure Shell) — набор программ, который позволяет шифровать сеансы связи в сети. При таких сеансах используется протокол SSH.

OpenSSH включает в себя компоненты:

  • ssh,
  • scp,
  • sftp,
  • sshd,
  • sftp-server,
  • ssh-keygen,
  • ssh-keysign,
  • ssh-keyscan,
  • ssh-agent,
  • ssh-add.

Этот набор ПО может аутентифицировать пользователей с помощью таких встроенных механизмов как:

  • публичные ключи,
  • клавиатурный ввод: пароли и запрос-ответ,
  • Kerberos/GSS-API.

Установка OpenSSH на Ubuntu 22.04

В качестве примера мы рассмотрим установку Ubuntu 22.04. Настройка SSH Ubuntu Server 20.04 версии проходит аналогично.

При первой установке Ubuntu подключение по SSH запрещено по умолчанию. Включить доступ по SSH можно, если установить OpenSSH.

Для этого:

  1. 1.

    Откройте терминал с помощью комбинации клавиш Ctrl + Alt + T.

  2. 2.

    Обновите репозиторий командой:

  3. 3.

    Установите SSH с помощью команды:

  4. 4.

    Установите OpenSSH:

    sudo apt install openssh-server
  5. 5.

    Добавьте пакет SSH-сервера в автозагрузку:

    sudo systemctl enable sshd
  6. 6.

    Проверьте работу SSH:

    Если установка прошла корректно, в выводе вы увидите настройки по умолчанию:



    установка openssh на ubuntu
    Настройка SSH Linux

Готово, вы установили OpenSSH на Ubuntu.

Настройка OpenSSH на Ubuntu 22.04

По умолчанию SSH-соединение работает по порту 22. Из соображений безопасности порт лучше изменить. Для этого:

  1. 1.

    Запустите терминал с помощью комбинации клавиш Ctrl + Alt + T.

  2. 2.

    Откройте конфигурационный файл в текстовом редакторе:

    sudo nano /etc/ssh/sshd_config
  3. 3.

    В sshd_config замените порт 22 на другое значение в диапазоне от 1 до 65 535. Важно, чтобы выбранный порт не был занят другой службой:



    настройка openssh на ubuntu
    CentOS 8 настройка SSH

  4. 4.

    Чтобы изменения вступили в силу, перезапустите SSH-сервер:

Готово, вы настроили OpenSSH на Ubuntu 22.04. Теперь вы можете внести дополнительные настройки или в Ubuntu разрешить пользователю доступ по SSH.

Установка OpenSSH на Windows 10

  1. 1.

    В меню «Пуск» нажмите Параметры:



    установка openssh на windows 1

  2. 2.

    Перейдите в раздел Приложения:



    установка openssh на windows 2
    Настройка SSH

  3. 3.

    Выберите Приложения и возможности и нажмите Дополнительные компоненты:



    установка openssh на windows 3

  4. 4.

    Проверьте, установлен ли компонент «Клиент OpenSSH». Для этого в поисковой строке наберите «OpenSSH». Если компонент уже установлен, переходите к шагу Настройка SSH на Windows 10.



    установка openssh на windows 4

    Если компонент ещё не установлен, используйте PowerShell.


Что такое PowerShell

PowerShell — это утилита командной строки в ОС Windows. Она выпущена в составе Windows 7, Windows 8, Windows 8.1 и Windows 10 как неотъемлемая часть системы.

Управлять ОС через PowerShell можно при помощи командлетов — специальных команд. Командлеты работают аналогично с командами в терминале Linux.

Использование командлетов позволяет:

  • работать с файловой системой и реестром Windows,
  • изменять настройки операционной системы,
  • управлять службами и процессами,
  • устанавливать программы,
  • управлять установленным ПО,
  • встраивать исполняемые компоненты в программы,
  • создавать сценарии, которые помогут автоматизировать администрирование.
  1. 5.

    Перейдите в меню «Пуск». Правой кнопкой мыши кликните на Windows PowerShell и выберите Запуск от имени администратора:



    установка openssh на windows 5

  2. 6.

    Дайте согласие на запуск программы. Для этого нажмите Да:



    установка openssh на windows 6

  3. 7.

    Введите командлет:

    Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

    Вы увидите следующее сообщение:



    установка openssh на windows 7

  4. 8.

    Установите OpenSSH с помощью командлета:

    Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

    После установки вы увидите сообщение. Если для параметра «RestartNeeded» указан статус «True», перезагрузите компьютер.



    установка openssh на windows 8

Готово, вы установили OpenSSH на Windows.

Настройка Open SSH на Windows 10

  1. 1.

    В меню «Пуск» и кликните на Windows PowerShell:



    настройка openssh на windows 1

  2. 2.

    Введите командлет:

    В выводе отобразится справочная информация о командлетах:



    настройка openssh на windows 2

  3. 3.

    Если вам нужно подключиться к серверу по SSH, выполните командлет:

    Где:

    • username — имя пользователя SSH,
    • host — имя удаленного сервера или его IP-адрес.

    Например, так выглядит командлет для подключения к хостингу Рег.ру:

    ssh u1234567@123.123.123.123

Готово, теперь вы можете как открыть доступ по SSH, так и внести дополнительные настройки на сервере.

Помогла ли вам статья?

Спасибо за оценку. Рады помочь 😊


 👍

  • Работа с несколькими приложениями в windows
  • Работа с snmp в windows
  • Работа с жестким диском без windows
  • Работа с putty в windows
  • Работа с дисками в windows 10 в командной строке