Краткий обзор 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 распространяется бесплатно и имеет открытый исходный код. При этом является одним из немногих SSH-клиентов, до сих пор активно развивающихся и получающих новые версии.
Утилита поддерживает протоколы SCP, SSH, rlogin и Telnet, а также работает со всеми методами шифрования данных.
Оригинальная программа доступна только для Windows, но есть порты от сообщества под другие платформы
Скачать с официального сайта
KiTTY
За свою жизнь PuTTY обзавелся несколькими десятками форков (копий) от сторонних разработчиков. Каждый пытался внести в знаменитый SSH-клиент что-то свое. В итоге некоторые выросли в полноценные альтернативы, во много затмившие оригинал.
KiTTY базируется на PuTTY, но обладает массой преимуществ. Можно:
- выставлять собственные фильтры для отдельных сессий;
- хранить настройки в конфигурационной файле самой утилиты (чтобы хранить ее на флэшке, например, сохраняя настройки);
- создавать алиасы для часто используемых команд (и наборов команд);
- добавлять скрипты для автоматический аутентификации на сервере;
- использовать гиперссылки;
- настраивать интерфейс, меняя цвет текста, шрифты, степень прозрачности окна и другие визуальные элементы.
Скачать программу
MobaXterm
Многофункциональный SSH-клиент, полюбившийся пользователям за высокую скорость работы, комфортный интерфейс и кучу дополнительных функций, отсутствующих у конкурентов. В нем есть браузер файлов, встроенный XServer для управления графическим интерфейсом на удаленном компьютере, масса плагинов, расширяющих возможности клиента, и portable-версия, работающая без установки.
Проект условно-бесплатный, поэтому большая часть функций недоступна до оплаты. Если не покупать платную версию, то функциональность MobaXterm будет мало чем отличаться от таковой в PuTTY. За профессиональную версию придется отдать 69 долларов.
Скачать MobaXterm
Solar-PUTTY (бывший SolarWinds)
Один из немногих SSH-клиентов с современным интерфейсом. Это платная программа, что несомненно является ее недостатком. Но, в отличие от популярнейшего PuTTY, Solar умеет гораздо больше интересных вещей и лишен недостатков оригинала.
Например:
- Сохраняет данные для входа. Не приходится постоянно проходить авторизацию заново.
- Работает сразу с несколькими сессиями в одном окне (по вкладке на каждую).
- Автоматически восстанавливает подключение, если оно по какой-то причине было утеряно.
- Интегрирован в поисковик Windows.
- Не требует установки. Всегда работает в portable-режиме.
Приложение обойдется в 99 долларов (~7650 рублей)
SmarTTY
Еще одна попытка упростить жизнь веб-разработчикам, полагающимся на SSH. Создатели SmarTTY уделил много внимания ускорению работы пользователей и повышению удобства выполнения элементарных задач.
Например, появился режим отображения терминалов в отдельных вкладках. Сам терминал научился автоматически завершать команды и быстро искать файлы. В него добавили графический интерфейс для загрузки файлов на сервер без необходимости использовать командную строку.
Также в SmarTTY встроен многофункциональный текстовый редактор с возможностями Nano и hex-терминал для отслеживания COM-портов. А еще есть portable-версия, для работы с которой даже не нужно выполнять установку.
Скачать программу
Xshell
Полнофункциональный SSH-клиент для Windows. Отличается от PuTTY и схожих продуктов возможностью задавать разные параметры для каждой терминальной сессии, создавать общие скрипты на несколько сессий.
Он поддерживает командную строку Windows и протокол SCP. Также в него встроен файловый менеджер для управления документами в графической среде.
Можно записывать выполняемые команды и превращать «записанный» материал в один скрипт, который после можно перезапустить в любой момент.
Скачать клиент
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, поддержку отдельных вкладок и окон под разные сессии, запущенные единовременно.
А еще он грамотно вписывается в интерфейс GTK и в окружение GNOME как визуально, так и в техническом плане.
Asbru можно запустить на Windows, используя компоненты Xming и включив WSL, но это весьма специфичный сценарий.
Muon
Бывший Snowflake. Графический клиент для подключения к серверу по протоколам SFTP и SSH. Включает в себя текстовый редактор, анализатор пространства на жестком диске, утилиту для считывания логов и прочие полезные инструменты.
Из прочих преимуществ отмечу:
- Быстрый доступ к часто используемым функциям вроде копирования файлов, архивирования, запуска скриптов, проверки прав на директории и т.п.
- Поиск по массивным логам.
- Встроенный терминал с поддержкой сниппетов (сокращенных версий команд, созданных пользователем).
- Сетевые инструменты и приложение для менеджмента SSH-ключей.
Muon создавался с прицелом на веб-разработчиков, работающих над бэкэнд-составляющей сайтов.
SSH-клиенты для macOS
Компьютеры Apple поддерживает подключение по протоколу SSH прямо из встроенного терминала. Для этого используется та же команда, что и в Linux:
ssh *имя_пользователя*@*адрес_сервера*
Также с последующем подтверждением подключения и авторизацией. Поэтому в macOS (как и в Linux) обычно не используются сторонние SSH-клиенты. Но они есть, и многие из них довольно качественные.
iTerm 2
Одна из главных альтернатив встроенному в macOS терминалу. Попытка расширить возможности стандартной командной строки необходимыми функциями, которые Apple упорно игнорирует годы напролет. Например, поддержку режима сплит-скрин, когда в одном окне отображается сразу два терминала с разными сессиями, или возможность добавлять комментарии к запущенным командам.
Отдельно отметим функцию 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, что делает его универсальным и расширяемым.
Если вы перфекционист и привыкли к изысканным интерфейсам 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. Наличие мобильной версии — ключевое преимущество программы. С помощью нее можно на ходу вносить изменения на сервер, управлять базой данных и выполнять прочие действия, обычно требующие доступа к полноценному ПК.
Он адаптирован под сенсорные экраны и синхронизируется между всеми вашими устройствами, используя стандарт шифрования AES-256.
Доступен сразу на пяти платформах, включая мобильные. Распространяется по подписке за 9 долларов (~700 рублей).
Poderosa
Профессиональный SSH-клиент, перешедший из стана opensource-проектов в разряд платных. Разработчики проекта видят своей задачей создание понятного интерфейса для управления серверами. Так, чтобы привыкшие вебмастера не путались, но обладали более широким набором инструментов.
Из функций создатели Poderosa выделяют удобный мультисессионный режим, когда экран делится на несколько частей и показывает сразу несколько терминалов. Можно также создать несколько вкладок, в каждый из которых будет по 4 терминала.
Есть ассистент, помогающий быстрее вводить часто используемые команды, и масса опций для изменения интерфейса (включая шрифты, цвета отдельных типов данных и т.п.).
Доступен на Windows и macOS. Стоит 33 доллара (~2550 рублей)
SecureCRT
Коммерческий SSH-клиент с расширенным набором функций. Отличается от большинства конкурентов усиленными механизмами защиты данных. Поддерживает сразу несколько протоколов, включая SSH2 и Telnet. Эмулирует различные Linux-консоли и предлагает массу настроек внешнего вида.
Из отличительных функций можно отметить возможность создавать свои горячие клавиши, менять цвет отображаемого контента, искать по ключевым словам, запускать несколько окон с разными или одним сервером, открывать несколько сессий в разных вкладках. Также функциональность 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 на разных операционных системах — Windows и Linux.
- Что нужно для подключения
- Как скопировать файл через SSH на Linux
- Как отправить файл по SSH с локального компьютера на сервер
- Как скачать файлы с удаленного сервера на компьютер
- Как скопировать файлы по SSH на Windows
- Как загрузить файл с компьютера на сервер
- Как скачать файл через SSH на локальный компьютер
Для подключения к серверу вам потребуются:
- IP-адрес или имя сервера,
- логин пользователя (в том числе root),
- пароль пользователя,
- порт.
Чаще всего копирование файлов через SSH делают с помощью двух мини-программ:
- scp (Secure Copy) — утилита для Linux. Она позволяет безопасно передать или скачать файл по протоколу SSH. Программа scp входит в комплект OpenSSH и не требует установки.
- pscp.exe — это утилита для Windows. Она используется по тому же назначению, что и scp: подключение к серверу по SSH и работа с файлами. Эта мини-программа входит в состав PuTTY: ее можно скачать на официальном сайте. Процедура настройки SSH-клиента описана в нашей статье.
Важно: если загружаемый файл существует на целевом хосте, он перезапишется.
Работа через SSH предполагает использование консольных команд. Наиболее популярные из них вы можете найти в статье.
Как скопировать файл через SSH на Linux
Копирование файлов по SSH на Linux можно сделать с помощью scp. Эта утилита позволяет:
- передать файл с локального компьютера на удаленный сервер,
- скачать файл с удаленного сервера на локальный компьютер.
Команда scp имеет следующий синтаксис:
scp опция источник получатель
Как отправить файл по SSH с локального компьютера на сервер
Чтобы загрузить файл:
- Подключитесь к серверу по SSH.
- Выполните команду:
scp /home/test.doc username@servername:/directory
Где:
- /home/test.doc — путь к файлу на локальном компьютере;
- username — имя SSH-пользователя;
- servername — имя сервера или его IP-адрес;
- directory — директория на сервере, в которую нужно загрузить файл.
Готово, вы загрузили файл на сервер.
Как скачать файлы с удаленного сервера на компьютер
Чтобы загрузить файл:
- Подключитесь к серверу по SSH.
- Выполните команду:
scp username@servername:/directory/test.doc /home
Где:
- /directory/test.doc — путь к файлу на сервере;
- username — имя SSH-пользователя;
- servername — имя сервера или его IP-адрес;
- home — папка на компьютере, в которую нужно загрузить файл.
Готово, вы скачали файл на компьютер.
Как скопировать файлы по SSH на Windows
Копирование через SSH на ОС Windows выполняется с помощью утилиты pscp.exe из набора PuTTY.
Как загрузить файл с компьютера на сервер
Чтобы загрузить файл:
- Подключитесь к серверу по SSH.
- Выполните команду:
pscp C:/documents/test.doc username@servername:/directory
Где:
- /documents/test.doc — путь к файлу на локальном компьютере;
- username — имя SSH-пользователя;
- servername — имя сервера или его IP-адрес;
- directory — директория на сервере, в которую нужно загрузить файл.
Если название файла или путь содержит пробелы, заключите его в кавычки:
pscp “C:/documents/test 1.doc” username@servername:/directory
Готово, вы загрузили файл на сервер.
Как скачать файл через SSH на локальный компьютер
Чтобы загрузить файл:
- Подключитесь к серверу по SSH.
- Выполните команду:
pscp username@servername:/directory/test.doc C:/documents
Где:
- username — имя SSH-пользователя;
- servername — имя сервера или его IP-адрес;
- directory/test.doc — путь к файлу на сервере;
- /documents — директория на локальном компьютере, в которую нужно загрузить файл.
Если название файла или путь содержит пробелы, заключите его в кавычки:
pscp username@servername:”/directory/test 1.doc” C:/documents
Готово, вы скачали файл на компьютер.
В статье мы расскажем, как копировать файлы в Windows и Linux-системах, и покажем основные команды, с помощью которых происходит передача файлов по SSH.
Для копирования файлов по SSH в Linux-системах и Windows используют разные инструменты:
- scp (Secure CoPy) — утилита для безопасного копирования данных между Linux-системами по протоколу SSH. Она входит в состав OpenSSH, поэтому для работы с утилитой не нужно устанавливать дополнительное ПО;
- pscp.exe — утилита для загрузки файлов по SSH в ОС Windows. Она обладает теми же возможностями, что и scp. Утилита входит в состав программы Putty — SSH-клиента для Windows. Скачать программу можно по ссылке.
Обратите внимание
Если файл, который вы хотите скопировать, уже существует на целевом хосте, при копировании он будет перезаписан.
Копирование файлов по SSH на Linux
Для Linux копирование файлов по SSH происходит с использованием команды scp. С её помощью можно копировать файлы:
- с локального компьютера на удалённый сервер,
- с удалённого сервера на локальный компьютер,
- с одного удалённого сервера на другой.
Общий вид команды:
scp [опция] [источник] [получатель]
Обратите внимание
Для подключения к удалённому серверу вам понадобится логин и пароль пользователя.
Как скопировать файл по SSH с локальной машины на удалённый сервер
Как загрузить файл на сервер по SSH? Для этого используйте команду вида:
scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Пример команды:
scp /home/test.txt root@123.123.123.123:/directory
Файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».
Как скопировать файлы с удалённого сервера на локальный компьютер
При подключённом SSH скачать файл на локальный компьютер с удалённого сервера можно с помощью команды:
scp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]
Пример команды:
scp root@123.123.123.123:/home/test.txt /directory
Файл test.txt будет загружен с сервера 123.123.123.123 на локальный компьютер в папку «/directory».
Как скопировать файл по SSH с одного удалённого сервера на другой
Подключитесь по SSH к серверу, на котором расположен файл. Затем выполните команду:
scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Пример команды:
scp /home/test.txt root@123.123.123.123:/directory
Файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».
Как скачать папку со всеми файлами и подпапками
Если вы хотите скачать папку со всеми файлами и подпапками, используйте ключ -r:
scp -r [источник] [получатель]
Как подключиться к серверу по нестандартному порту
Бывает, что для подключения по SSH нужно указать нестандартный порт. Без указания порта команда подключается к серверу по стандартному 22 порту. Чтобы указать нестандартный порт, введите команду с ключом -P:
scp -P [источник] [получатель]
Пример команды:
scp -P 12345 /home/test.txt root@123.123.123.123:/directory
Эта команда подключается по порту 12345 к серверу 123.123.123.123 и копирует на него файл «test.txt» с локального компьютера в директорию «/directory».
Как передать и скачать файлы по SSH на Windows
Скопировать файл по SSH на сервер можно командой:
pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Скачать файл по SSH с сервера командой:
pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]
Увидеть список папок и файлов на сервере можно через pscp.exe. Для этого введите:
pscp -ls [имя пользователя]@[имя сервера/ip-адрес]:[путь]
Если в пути или в названии файла есть пробелы, используйте кавычки:
pscp “C:files or docsfile name” root@123.123.123.123:/home
- Копирование файлов по SSH на Linux
- Как передать и скачать файлы по SSH на Windows
В статье мы расскажем, как копировать файлы в Windows и Linux-системах, и покажем основные команды, с помощью которых происходит передача файлов по SSH.
В Linux и Windows-системах используют разные инструменты для копирования файлов по SSH.
В Linux для копирования данных по протоколу SSH используется утилита scp (Secure CoPy). Она входит в состав OpenSSH, поэтому для работы с утилитой устанавливать дополнительное ПО не нужно.
В Windows для загрузки файлов по SSH используется утилита pscp.exe. Её функционал схож с scp. Утилита входит в состав программы Putty (SSH-клиент для Windows). Putty не входит в стандартный набор Windows-программ, поэтому её нужно будет скачать с официального сайта.
Обратите внимание! Если файл, который вы хотите скопировать, уже существует на целевом хосте, при копировании он будет перезаписан.
Копирование файлов по SSH на Linux
Как скачать файл с сервера через SSH? На Linux копирование файлов по SSH делается с помощью команды scp. Команда может копировать файлы как с локального компьютера на удалённый сервер, так и с удалённого сервера на локальный компьютер.
Обратите внимание! Для подключения к удалённому серверу вам понадобится логин и пароль.
В общем виде команда выглядит так:
scp [опция] [источник] [получатель]
Как скопировать файл по SSH с локальной машины на удалённый сервер
Как загрузить файл на сервер по SSH? Для этой операции используется команда вида:
scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Например, команда может выглядеть так:
scp /home/test.txt root@123.123.123.123:/directory
То есть файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».
Как скопировать файлы с удалённого сервера на локальный компьютер
При подключённом SSH скачать файл на локальный компьютер с удалённого сервера можно с помощью команды:
scp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]
Пример команды:
scp root@123.123.123.123:/home/test.txt /directory
То есть файл test.txt будет загружен с сервера 123.123.123.123 на локальный компьютер в папку “/directory”.
Как скачать папку со всеми файлами и подпапками
При необходимости можно скачать папку со всеми файлами и подпапками, для этого используйте ключ -r:
scp -r [источник] [получатель]
Как подключиться к серверу по нестандартному порту
Если не указывать порт, команда подключается к серверу по стандартному 22 порту. Но бывает, что для подключения по SSH нужно указать нестандартный порт. Чтобы это сделать, введите команду с ключём -P:
scp -P [источник] [получатель]
Например, получится такая команда:
scp -P 12345 /home/test.txt root@123.123.123.123:/directory
Указанная команда подключается по порту 12345 к серверу 123.123.123.123 и копирует на него файл «text.txt» в директорию «/directory».
Как передать и скачать файлы по SSH на Windows
Скопировать файл по SSH на сервер можно командой:
pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Чтобы скачать файл по SSH с сервера, используйте команду:
pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]
Увидеть список папок и файлов на сервере можно через pscp.exe. Для этого введите:
pscp -ls [имя пользователя]@[имя сервера/ip-адрес]:[путь]
Если в пути или в названии файла есть пробелы, используйте кавычки:
pscp “C:files or docsfile name” root@123.123.123.123:/home
-
Главная
-
Инструкции
-
Linux
-
Копирование файлов по SSH
Протокол SSH (Secure Shell) — это сетевой протокол для удаленного управления операционной системой через командную строку, который можно назвать стандартом для удаленного доступа к *nix-машинам. Позволяет производить защищенный вход на сервер, удаленно выполнять команды, управлять файлами (создавать, удалять, копировать и т.д.) и многое другое. Большинство облачных и хостинг-провайдеров требуют наличие SSH для доступа к своим сервисам. В этой статье рассмотрим копирование файлов по SSH в Windows и Linux-системах.
SSH способен передавать любые данные (звук, видео, данные прикладных протоколов) через безопасный канал связи. В отличие от устаревших и небезопасных протоколов telnet и rlogin, в SSH обеспечивается конфиденциальность передаваемых данных и подлинность взаимодействующих сторон — необходимые условия для сетевого взаимодействия в Интернете.
Рассмотрим алгоритм установки зашифрованного соединения между клиентом и сервером:
- Установка TCP-соединения. По умолчанию сервер слушает 22-й порт. В работе протокола используется набор алгоритмов (сжатие, шифрование, обмен ключами), поэтому стороны обмениваются списком поддерживаемых алгоритмов и договариваются, какие из них будут использовать.
- Чтобы третья сторона не смогла выдать себя за сервер или клиент, стороны должны удостоверится в подлинности друг друга (аутентификация). Для этого используются асимметричные алгоритмы шифрования и пара открытый-закрытый ключ. Вначале проверяется аутентичность сервера. Если соединение происходит впервые, пользователь увидит предупреждение и информацию о сервере. Список доверенных серверов и их ключей записывается в файл по адресу /home/<username>/.ssh/known_hosts.
- Как только клиент убедился в достоверности сервера, стороны генерируют симметричный ключ, с помощью которого происходит шифрования всех обмениваемых данных. Таким образом при перехвате данных, никто, кроме сторон не сможет узнать содержимое сообщений.
- Далее происходит аутентификация пользовательского сеанса. Для этого используется либо пароль, либо присланный клиентом публичный ключ, сохраняемый в файле /home/<username>/.ssh/authorized_keys на сервере.
Самая популярная реализация на Линукс, OpenSSH, предустанавливается практически на всех дистрибутивах: Ubuntu, Debian, RHEL-based и других. На Windows в качестве клиентов можно использовать программы PuTTY, MobaXterm. Начиная с WIndows 10 и Windows Server 2019 инструменты OpenSSH доступны и на Windows.
Подробнее об SSH и работе с ним мы писали в статье «Как пользоваться SSH».
Копирование файлов
Копирование файлов в Linux по SSH осуществляется с помощью двух основных программ: scp и sftp. Обе утилиты поставляются вместе с пакетом OpenSSH. Существуют две основные версии протокола SSH: 1 и 2. Оболочка OpenSSH поддерживает обе версии, однако первая применяется редко.
Настройка автодополнений
При работе с scp крайне удобно использовать tab для автодополнения путей на удаленной машине. Для этого нужно настроить аутентификацию пользователя по публичному ключу.
Для начала сгенерируем открытый и закрытый ключ:
ssh-keygen
Вывод:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:wJQ/XBZq69qXGHxseTuccUEpzWYHhsVVHcDXE3MrTHQ user@host
В конце вывода будет графическое представление ключа (key’s randomart image), которое легче запомнить, чем хэш ключа.
По умолчанию ключи (id_rsa.pub — открытый, id_rsa — закрытый) сохранятся в домашнем каталоге пользователя в директории .ssh. Также во время генерации программа попросит ввести пароль, которым будут защищены ключи. Если не хотите дополнительной защиты, нажмите два раза Enter.
Теперь копируем публичный ключ на удаленную машину:
ssh-copy-id [имя пользователя]@[ip-адрес]
Здесь [имя пользователя] — учетная запись пользователя, под которой будем логиниться на удаленной машине, [ip-адрес] — адрес удаленной машины (можно использовать доменное имя, если они локально резолвится). Далее вводим пароль пользователя. Если все прошло корректно, то в выводе будет команда для удаленного подключения:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '<имя пользователя>@<ip-адрес>'"
and check to make sure that only the key(s) you wanted were added.
Secure copy (SCP)
Для копирования небольших объемов информации (например, конфиги сервисов) лучше всего подойдет утилита scp.
Синтаксис команды для копирования с локальной машины на удаленный сервер:
scp [путь к файлу] [путь к файлу] [имя пользователя]@[ip-адрес]:[путь к файлу]
Попробуем скопировать файл на сервер:
scp test.txt user@192.168.1.29:/home/user/
Вывод:
test.txt 100% 12 20.6KB/s 00:00
Можно передать несколько файлов за раз. Для этого указываем пути, разделенные пробелами:
scp test1.txt test2.txt user@192.168.1.29:/home/user/
Для копирования с удаленного сервера на локальную машину нужно поменять источник и место назначения местами:
scp user@192.168.1.29:/home/user/test.txt ~/
Для передачи директории используйте ключ -r
:
scp -r testdir user@192.168.1.29:/home/user/
Также имеется возможность передачи с одного удаленного сервера на другой:
scp gendo@192.168.1.25:/home/gendo/test.txt user@192.168.1.29:/home/user/
Secure FTP (SFTP)
Еще одной утилитой для передачи файлов, поставляемых в OpenSSH, является sftp. C релизом OpenSSH 9.0 утилита scp переведена по умолчанию на использование SFTP вместо устаревшего протокола SCP/RCP. Sftp работает практически также, как и классический ftp, за исключением того, что в sftp данные передаются не в виде обычного текста, а по зашифрованному туннелю (туннелирование — это процесс упаковки и передачи одного сетевого подключения с помощью другого). Также для работы sftp не нужен отдельный FTP-сервер.
Пример простого скачивания через sftp:
gendo@melhior:~$ sftp misato@192.168.1.29
Connected to 192.168.1.29.
sftp> ls
file.txt file1.txt file2.txt test.txt
sftp> lcd testdir/
sftp> get test.txt
Fetching /home/misato/test.txt to test.txt
test.txt 100% 12 4.8KB/s 00:00
sftp> bye
Сам по себе sftp применяется редко: вместо этого его используют файловые менеджеры, например Midnight Commander и Nautilus:
Использование sftp в файловом менеджере Nautilus. Удаленная машина отображается в виде папки с именем пользователя и IP-адресом.
Копирование файлов по SSH в Windows
Скачать файл с сервера или на сервер в Windows можно с помощью консольной программы pscp, поставляемой вместе с PuTTY. Синтаксис очень похож на обычный scp:
pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Для SSH-копирования файлов на сервер, используйте следующую команду:
pscp C:servertest.txt misato@192.168.1.29:/home/misato/
Скачивание файла с сервера на компьютер:
pscp misato@192.168.1.29:/home/misato/test.txt C:file.txt
Увидеть список файлов на сервере можно при помощи опции -ls
:
pscp -ls [имя пользователя]@[ip-адрес]:[путь]
Если в пути или в названии файла есть пробелы, используйте кавычки:
pscp "C:dirbad file name" misato@192.168.1.29:/home/misato
Для получения помощи по команде введите pscp без аргументов.
Заключение
Мы рассмотрели, как копировать файлы на сервер и с сервера с помощью безопасного сетевого протокола SSH. Если вы используете облачные серверы, важно уметь работать с SSH, так как он является стандартом для удаленного доступа к *nix-машинам и будет необходим вам в повседневной работе.
Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.
Я думал, что был довольно доволен PuTTY в качестве моего SSH-клиента Windows, но эти 10 лучших SSH-клиентов заставили меня переосмыслить. И я больше не использую PuTTY для SSH на машине с Windows 10. Системы на основе Linux становятся все более распространенными. В качестве примеров управления маршрутизатора DD-WRT, ASUS маршрутизатор писак и управления Raspberry Pi, все они требуют SSH работы. Проще говоря, SSH или Secure Shell предоставляют доступ из командной строки к удаленной системе, на которой работает сервер SSH. Для любого взлома уровня администратора вам потребуется SSH в вашу удаленную систему. В течение нескольких лет я использовал PuTTY, но в начале этого года я перешел на MobaXterm Home Edition, бесплатный SSH-клиент для Windows, и я более чем счастлив. Я показал вам, как установить SSH на Ubuntu Server, В этой статье я расскажу о некоторых лучших SSH-клиентах для Windows и некоторых бесплатных альтернативах PuTTY.
Лучшие клиенты SSH для Windows
Большой недостаток в Windows – отсутствие совместимой с Linux оболочки. Есть несколько главных клиентов SSH, которые заполняют этот пробел. Чтобы перейти к делу: PuTTY – это самый распространенный бесплатный SSH-клиент для Windows. Мой личный фаворит – MobaXterm, который бесплатен для личного использования с 10 хостами. Читайте дальше, чтобы узнать больше о других бесплатных клиентских опциях Windows SSH. [ Читать: Лучшие клиенты SSH для Android: 10 бесплатных приложений SSH для удаленного администратора ]
1. PuTTY (бесплатно; с открытым исходным кодом)
Прежде чем мы поговорим об альтернативах PuTTY, позвольте мне сначала поговорить о PuTTY, который предлагает отличную бесплатную оболочку SSH / Telnet для Windows. Кто-то, вероятно, скажет, что PuTTY – лучший SSH-клиент. Я показал вам, как установить PuTTY на Windows. Подключиться к удаленному SSH-серверу так же просто, как просто набрать IP-адрес или домен и порт и нажать «Открыть».
SSH-доступ с PuTTY для Windows
Вас могут попросить ввести имя пользователя и пароль для подключения к удаленному SSH-серверу. Кроме того, вы можете использовать PuTTY с ключами SSH для подключения без паролей. Вы даже можете создать ярлык Windows для сеансов PuTTY, чтобы открыть сеанс SSH одним щелчком мыши. Теперь, когда мы увидели, что такое PuTTY, давайте рассмотрим некоторые лучшие SSH-клиенты, которые могут быть отличными альтернативами PuTTY.
PuTTY Like Программы для Windows
Ниже перечислены 3 SSH-клиента, основанные на PuTTY, и они выглядят как PuTTY, но предоставляют дополнительные функции для перехода на следующий уровень. Если вы хотите придерживаться среды PuTTY, то стоит взглянуть на один из этих SSH-клиентов для Windows.
2. SuperPutty (бесплатно; с открытым исходным кодом; на основе PuTTY)
SuperPutty – это альтернатива Windows PuTTY, целью которой является создание лучшей версии PuTTY. Однако для запуска требуется PuTTY. Другими словами, SuperPuTTY делает существующую установку PuTTY лучше. Это позволяет сеансам с вкладками, а также передачу файлов SCP между удаленной и локальной системой.
SuperPuTTY требует PuTTY для запуска
Особенности SuperPuTTY включают в себя:
- Пользовательский интерфейс стыковки позволяет персонализировать рабочее пространство и легко управлять несколькими сеансами PuTTY
- Экспорт / Импорт конфигурации сеанса
- Безопасная загрузка файлов с использованием протоколов scp или sftp
- Макеты позволяют настраивать виды сеансов
- Поддерживает конфигурации сеансов PuTTY, включая приватные ключи
- Поддерживает протоколы SSH, RLogin, Telnet и RAW
- Поддерживает локальную оболочку через MinTTY или puttycyg
- Поддерживает Китти
Рекомендуемые руководства:
- Командная строка Linux: полное введение
- Введение в командную строку (второе издание): руководство по обезжириванию команд Unix и Linux
- Мастерство SSH: OpenSSH, PuTTY, Туннели и Ключи
3. PuTTY Tray (бесплатно; с открытым исходным кодом; на основе PuTTY)
PuTTY Tray, как следует из названия, основан на PuTTY. Он добавляет косметические изменения и расширяет PuTTY, используя дополнения, которые делают его лучше, чем PuTTY. Но во многих отношениях это очень похоже на PuTTY. Некоторые из его особенностей включают в себя:
- Минимизация в системный трей (по CTRL + минимизация, всегда или непосредственно при запуске)
- Иконки настраиваемые
- Мигает значок в трее при получении сигнала звонка
- Настраиваемая прозрачность окна
- Гиперссылка на URL
- Портативность: опционально сохраняет конфигурацию сеанса в файлах (например: на USB-накопителе), например, portaPuTTY
- Легкий доступ к настройке «всегда сверху» (в системном меню)
- Поддержка Android adb
Если вы большой поклонник PuTTY, то PuTTY Tray – отличная альтернатива PuTTY SSH. [ Читать: Подключение к Ubuntu Server с использованием ключей SSH и Putty ]
4. KiTTY (бесплатно; с открытым исходным кодом; на основе PuTTY)
KiTTY – это форк PuTTY, предназначенный для работы в качестве SSH-клиента Windows. KiTTY имеет все функции от PuTTY и добавляет много других функций.
KiTTY очень похож на PuTTY
Хотя весь список функций можно найти на веб-сайте KiTTY, некоторые ключевые добавленные функции перечислены ниже:
- Фильтр сессий
- портативность
- Ярлыки для предопределенной команды
- Автоматический пароль
- Запуск локально сохраненного скрипта в удаленном сеансе
- Значок для каждой сессии
- Отправить в трей
- Быстрый старт повторяющегося сеанса
- Интеграция pscp.exe и WinSCP
KiTTY – еще одна отличная альтернатива PuTTY.
Альтернативы PuTTY
PuTTY великолепен и является одним из самых распространенных бесплатных Windows SSH-клиентов. Тем не менее, PuTTY выглядит довольно пешеходно, и одной из самых больших недостающих функций является невозможность открывать сессии во вкладках. Некоторые из перечисленных ниже альтернатив PuTTY не только позволяют вкладки, но и объединяют другие протоколы, такие как FTP, SFTP и другие, в одном инструменте, который может быть удобен для пользователя домашнего сервера или администратора сервера. Итак, давайте кратко рассмотрим некоторые из лучших вариантов Windows SSH-клиента.
5. MobaXterm (бесплатно; доступна платная версия Pro)
MobaXterm – это отдельное приложение для Windows, которое предоставляет множество функций для программистов, веб-мастеров, ИТ-администраторов и любого, кто хочет управлять системой удаленно.
MobaXterm Home – лучший SSH-клиент для Windows
Некоторые из его особенностей включают в себя:
- Поддержка нескольких протоколов (SSH, X11, RDP, VNC, FTP, MOSH, …)
- Приносит команды Unix в Windows (bash, ls, cat, sed, grep, awk, rsync, …)
- Встроенный X-сервер и X11-Forwarding
- Терминал с вкладками для SSH
- GUI Файл / Текстовый редактор
- Портативный и легкий
Это может быть расширено с помощью плагинов. Что мне нравится в MobaXterm, так это то, что никакие навязчивые объявления / запросы на обновление не отображаются даже в бесплатной домашней версии. Платная Профессиональная версия приносит больше возможностей. [ Читать: Как подключить SSH к Raspberry Pi для удаленного администрирования? ]
6. SmarTTY (бесплатно)
SmarTTY также является одним из лучших SSH-клиентов для Windows. Это мой второй фаворит после MobaXterm и надежная замена PuTTY. И лучше всего, это бесплатно для использования.
SmarTTY – бесплатный Windows SSH клиент
SmarTTY объединяет несколько потрясающих функций в одном приложении:
- Один сеанс SSH – несколько вкладок
- Передача файлов и целых каталогов
- Редактировать файлы на месте
- Встроенный шестигранный терминал для COM-портов
- Готовая аутентификация с открытым ключом
- Без проблем запускайте графические приложения со встроенным Xming
SmartTTY регулярно обновляется и выделяется среди таких программ, как PuTTY.
7. Клиент Dameware SSH (бесплатно; доступны платные опции)
Клиент Dameware SSH – это бесплатный эмулятор терминала Windows SSH, который позволяет подключаться к нескольким telnet и SSH с одной простой в использовании консоли.
Dameware SSH Client для Windows
Функции клиента Dameware SSH включают в себя:
- Управление несколькими сессиями с одной консоли с помощью интерфейса с вкладками
- Сохраняйте любимые сессии в файловой системе Windows
- Доступ к нескольким наборам сохраненных учетных данных для удобного входа на разные устройства
- Подключение к компьютерам и устройствам с использованием протоколов telnet, SSH1 и SSH2
Dameware SSH-клиент не выделяется среди других лучших SSH-клиентов, но сравним с ними. В бесплатной версии он показывает объявление, предлагающее перейти на платную услугу. Если вам нравится интерфейс, то обязательно попробуйте.
8. mRemoteNG (бесплатно; с открытым исходным кодом)
mRemoteNG, ответвление mRemote, представляет собой менеджер удаленных соединений с открытым исходным кодом, с вкладками, который объединяет несколько протоколов в одно приложение. Как и некоторые другие лучшие Windows SSH клиенты, перечисленные выше, он также поддерживает интерфейс с вкладками.
mRemoteNG SSH Shell для Windows
mRemoteNG поддерживает следующие протоколы:
- RDP (удаленный рабочий стол / сервер терминалов)
- VNC (виртуальные сетевые вычисления)
- ICA (Citrix Independent Computing Architecture)
- SSH (Secure Shell)
- Телнет (TELecommunication NETwork)
- HTTP / HTTPS (протокол передачи гипертекста)
- Rlogin
- Raw Socket Connections
Это совершенно бесплатно и стоит попробовать, особенно если вы предпочитаете приложения с открытым исходным кодом.
Рекомендуемые руководства:
- Командная строка Linux: полное введение
- Введение в командную строку (второе издание): руководство по обезжириванию команд Unix и Linux
- Мастерство SSH: OpenSSH, PuTTY, Туннели и Ключи
9. Терминалы (бесплатно; с открытым исходным кодом)
Terminals – это защищенный клиент с множеством вкладок / клиент удаленного рабочего стола. Он предлагает несколько функций и конкурирует с некоторыми из платных или закрытых клиентов SSH Windows, перечисленных выше.
Терминалы SSH Client
- Интерфейс с несколькими вкладками
- Открыть терминал на весь экран, переключаться между полноэкранным режимом
- Избранные
- Сетевые инструменты: инструменты Ping, Tracert, DNS, Wake on LAN, сканер портов, общие ресурсы и т.д.
- История подключений
- Снимок экрана
- Откройте пользовательское приложение из окна Терминалов
- Мульти-протокол: удаленный рабочий стол Windows (RDP), VNC, VMRC, SSH, Telnet и т.д.
Терминалы определенно имеют много инструментов и функций по сравнению с некоторыми другими программами-клиентами SSH, перечисленными выше. Полный список функций и скриншоты доступны на сайте терминала.
10. FireSSH Аддон
Если по какой-либо причине вы предпочитаете не использовать отдельное программное обеспечение для удаленного администрирования SSH, то дополнение FireSSH для Firefox и Chrome может стать отличной альтернативой. Отличным примером является ситуация, когда вы находитесь в системе, у которой нет прав администратора. Хотя портативные клиенты SSH могут работать на таких ПК с Windows, расширение FireSSH не зависит от платформы.
FireSSH для Firefox и Chrome
FireSSH – это расширение, написанное на Javascript и позволяющее вам подключаться к удаленному SSH-серверу через ваш браузер. Если ваш браузер позволяет просматривать вкладки, вы можете открывать сессии SSH в отдельных вкладках.
Заключительные замечания
Приведенный выше список лучшего программного обеспечения SSH для Windows ни в коем случае не является исчерпывающим. Существуют и другие хорошие SSH-клиенты, такие как XShell (платный), Bitvise SSH Client (бесплатный для индивидуального использования) и TeraTerm (бесплатный), которые могут быть сопоставимы. Также помните, что приведенный выше список ориентирован на пользователей домашнего сервера или медиацентра для выполнения базовых административных задач, а не на бизнес-среду. Некоторые из медиаплееров Android могут даже администрироваться с использованием SSH с установленным приложением сервера SSH. Как упоминалось в статье, я использовал и любил PuTTY, но перешел на MobaXterm и был очень счастлив. Для многих это будет вопросом личных предпочтений. Но я надеюсь, что этот список лучших клиентов SSH суммирует несколько вариантов на выбор.
Источник записи: https://www.smarthomebeginner.com