Как подключиться по ssh через командную строку windows 7

Статья о подключении по SSH из Windows 10 с помощью OpenSSH и PyTTY. Подключение к Linux серверам.

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

В этой инструкции мы рассмотрим процесс подключения к SSH из Windows 10. Первый способ будет актуален для Windows 10 версии 1809 и выше, а второй можно использовать как на Windows 10, так и на Windows 7.

Подключение по SSH с помощью OpenSSH

Раньше для подключения к Linux серверу по SSH из Windows компьютера требовалась установка программы PuTTy или какого-то другого SSH-клиента. Но, в операционной системе Windows 10 (начиная с версии 1809) доступен клиент OpenSSH, с помощью которого можно подключаться к Linux серверам по SSH. Это позволяет работать с терминалом Linux прямо из командной строки Windows 10, при этом не требуется установка никаких сторонних программ.

Перед тем как использовать данный способ подключения необходимо проверить версию Windows 10. Для этого нажмите комбинацию клавиш Win-R и выполните команду «winver». Если на вашем компьютере установлена Windows 10 с версией 1809 или выше, то все нормально, в противном случае сначала нужно выполнить обновление.

версия Windows 10

Также нужно открыть меню «Параметры» и зайти в раздел «Приложения – Дополнительные возможности».

раздел Приложения – Дополнительные возможности

Здесь нужно пролистать список установленных дополнительных компонентов и найти в нем «Клиент OpenSSH». Если такой компонент присутствует, значит все нормально и можно переходить к следующему шагу. Если нет, то его нужно сначала установить с помощью меню «Добавить компонент».

Обратите внимание, не нужно путать «Клиент OpenSSH» и «Сервер OpenSSH». Для подключения по SSH вам нужен именно клиент.

Клиент OpenSSH - Добавить компонент

Также клиент OpenSSH можно установить с помощью PowerShell. Для этого запустите консоль PowerShell с правами администратора и выполните следующую команду:

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

Более подробно об установке и удалении клиента OpenSSH можно почитать в официальной документации Майкрософт.

установка клиента OpenSSH

Если версия Windows 10 подходящая и клиент OpenSSH установлен, то можно начинать подключение по SSH. Для этого запустите обычную командную строку Windows и введите команду «ssh». В ответ вы должны получить информацию о работе с данной командой.

ssh в командной строке Windows 10

В общем случае синтаксис команды «ssh» выглядит следующем образом:

ssh [email protected]

Где «user» — это имя пользователя на удаленном сервере, а «server» — это имя компьютера или его ip адрес.

Например, если наш сервер доступен по ip адресу «192.168.1.214», а имя пользователя это «aleks», то команда для подключения будет выглядеть так:

ssh [email protected]

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

подключение по ssh в Windows 10

По умолчанию для SSH используется порт 22. Для того чтобы это изменить нужно использовать параметр «-p». Например, для подключения по порту 2222 нужно выполнить вот такую команду.

ssh [email protected] -p 2222

Если подключение предполагает использование ключей, то они должны находиться в папке «C:Usersuser.ssh». А при подключении путь к приватному ключу нужно указать с помощью параметра «-i». Например, чтобы использовать ключ «C:Usersstepu.sshid_rsa» нужно выполнить:

ssh [email protected] -i C:Usersstepu.sshid_rsa

Более подробную информацию о команде «ssh» и ее параметрам можно получить на сайте man.openbsd.org/ssh или на opennet.ru (перевод).

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

В тех случаях, когда версия Windows 10 не поддерживает OpenSSH (или используется Windows 7) к SSH можно подключаться с помощью программы PyTTY. Скачать установщик данной программы можно на официальном сайте www.putty.org.

После установки программы PyTTY ее можно будет запустить с помощью поиска в меню «Пуск»

запуск программы PyTTY

Сразу после запуска программы PuTTY появляется окно с настройками подключения. Основными параметры здесь находятся на вкладке «Session», здесь нужно ввести:

  • Имя компьютера или IP адрес;
  • Порт для подключения (по умолчанию, 22);
  • Способ подключения (SSH);

После ввода этих данных можно запускать подключение с помощью кнопки «Open».

подключение по ssh через программу PyTTY

Если для подключения к SSH используются ключи, то путь к приватному ключу нужно указать в разделе «Connection – SSH – Auth».

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

ввод приватного ключа в программу PyTTY

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

запрос логина и пароля в PyTTY

После ввода этих данных вы будете подключены к удаленному серверу по SSH.

Посмотрите также:

  • Как удалить папку в Linux через терминал (консоль)
  • Как открыть файл в терминале Linux
  • Как создать файл в Linux через терминал
  • Как скопировать файл в Linux через терминал
  • Как удалить файл в Linux через терминал

Автор
Александр Степушин

Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.

Остались вопросы?

Задайте вопрос в комментариях под статьей или на странице
«Задать вопрос»
и вы обязательно получите ответ.

SSH-протокол (англ. Secure Shell ) используется для безопасного удалённого управления операционной системой. По SSH можно подключиться к любому серверу с операционной системой семейства Linux.

Если на вашем сервере установлена ОС Windows Server — используйте подключение по RDP.

  • Где найти доступы к серверу
  • Как подключиться к серверу по SSH с компьютера на ОС Windows
  • Как подключиться к серверу по SSH с компьютера на Linux/MacOS

Где найти доступы к серверу

Для подключения по SSH потребуется указать IP-адрес, пароль и логин администратора сервера. Эти данные можно найти на почте, привязанной к аккаунту (после активации VDS приходит письмо с инструкцией) или в Личном кабинете — в разделе «Товары» откройте подраздел «Виртуальные серверы» — выберите сервер в списке, сверху «Инструкция».

В новой вкладке откроется страница с необходимой информацией.

Как подключиться по SSH с компьютера на ОС Windows

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

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

0. Скачайте нужную версию PuTTY по ссылке.
1. Запустите файл putty.exe. Откроется окно программы:

По умолчанию никаких настроек программы менять не нужно. Достаточно убедиться, что указан порт Port 22 и тип соединения Connection type — SSH.

2. В поле Host Name (or IP address) введите IP-адрес сервера. Нажмите кнопку Open.

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

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

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

Как подключиться к серверу по SSH с компьютера на Linux/MacOS

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

В операционных системах семейства Linux (Ubuntu и др.) его можно открыть сочетанием клавиш Ctrl+Alt+T.

В MacOS приложение Терминал можно найти через Spotlight (иконка поиска в правом верхнем углу экрана).

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

ssh username@ip_adress

где вместо username нужно указать логин пользователя, вместо ip-adress — IP-адрес сервера, к которому вы подключаетесь. Если на сервере используется нестандартный порт SSH, команда изменится:

ssh username@ip_adress -p 22

где 22 — порт, по которому будет произведено подключение по SSH.

После ввода команды система запросит подтверждение подключения (необходимо ввести yes и нажать Enter) и пароль пользователя. После ввода нажмите клавишу Enter — откроется SSH-соединение:

Этот материал был полезен?

Подключиться к машине по SSH можно с помощью пары SSH-ключей либо пароля. Рассказываем подробно о каждом способе

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

Подключение с помощью SSH-ключей. Подготовка

  • Генерация SSH-ключей в Windows 7/8

  • Генерация SSH-ключей в Windows 10, Linux OS, Mac OS

  • Генерация SSH-ключей в личном кабинете

  • Добавление SSH-ключей в личном кабинете

  • Удаление SSH-ключей в личном кабинете 

  • Генерация и добавление SSH-ключей при создании виртуальной машины

Подключение с помощью пароля. Подготовка

  • Добавление пароля

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

  • Подключение по SSH с Windows 7/8

  • Подключение по SSH с Windows 10, Linux OS, Mac OS

Подключение с помощью SSH-ключей. Подготовка

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

Генерация SSH-ключей в Windows 7/8

Генерация SSH ключа с использованием командной строки (cmd) в операционных системах Windows 7/8 не предусмотрена.

Для генерации воспользуйтесь приложением PuTTY и входящим в пакет дополнением PuTTYgen.

1. Скачайте и установите приложение PuTTY.

2. Запустите приложение PuTTYgen.

3. В поле «Type of key to generate» укажите «RSA».

4. Для поля «Number of bits in a generated key» установите значение «2048».

5. Нажмите Generate.

putty_gen.png

Важно! Во время генерации ключа водите курсором в поле «Key» до тех пор, пока ключ не появится в поле.

6. В поле «Key passphrase» введите надёжный пароль.

7. Подтвердите пароль в поле «Confirm passphrase».

8. Нажмите кнопку Save private key и сохраните закрытый ключ.

___________.png

Внимание! Никогда не передавайте закрытый ключ и пароль сторонним лицам.

9. Нажмите Save public key и сохраните открытый ключ в удобном для вас месте.

10. Вы всегда можете открыть и скопировать сохранённые ключи при помощи приложения «Блокнот».

_______________.png

Генерация SSH-ключей в Linux/MacOS/Windows 10

Чтобы сгенерировать ключи на Linux/MacOS/Windows 10:

1. Откройте консоль, терминал (MacOS) или командную строку (cmd.exe) для Windows 10.

2. Выполните команду:

ssh-keygen -t rsa -b 2048

3.Укажите название ключа в строке «Enter file in which to save the key».

Внимание! Если не указывать директорию (например, «.ssh/» ), ключи сохранятся в «~./<имя ключа>» (для Linux/MacOS) или в «C:Users<имя_пользователя><имя ключа>» (для Windows 10).

4. Нажмите Enter.

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

6. Подтвердите пароль или оставьте поле пустым и нажмите Enter для сохранения ключа без пароля. 

______________________.png

7. Ключ создан в директории по умолчанию или в той, которую вы прописали. 

____________.png

8. Публичная часть ключа будет сохранена в файле «<имя_ключа>.pub». Используйте его для последующего добавления к виртуальной машине. Файл можно открыть в текстовом виде в приложении «Блокнот».

Генерация SSH-ключей в личном кабинете сервиса Облако

Для создания SSH-ключа из личного кабинета следуйте описанным ниже шагам.

1. В личном кабинете перейдите в раздел Ключи SSH.

2. Нажмите Сгенерировать ключ.  

436bffdec3efef7fc5437a295a522c9e.png

3. Введите название ключа и нажмите Создать SSH ключ

Важно! Допускается использование символов только латинского алфавита, нижнего подчеркивания, пробелов и точек. Длина имени должна быть от 3 до 63 символов.

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

5. Для просмотра закрытого ключа найдите его на устройстве и откройте с помощью приложения «Блокнот».

Добавление SSH-ключей в личном кабинете сервиса Облако

Чтобы добавить уже созданный SSH-ключ в личный кабинет:

1. В панели управления сервиса Облако перейдите в раздел Ключи SSH.

2. Нажмите Добавить SSH ключ.

9dc42089b427d6cfcb96f7a8e1d0d5a3.png

3. В поле «Содержимое ключа SSH» вставьте публичную часть SSH-ключа.

4. Задайте имя ключа в поле «Имя».

5. Нажмите Добавить SSH ключ.

cfa24ee280e8c5bb5b37a39b35e74bed.png

Ключ появится в списке SSH-ключей.

Удаление SSH-ключей в личном кабинете сервиса Облако 

1. Выберите SSH-ключ, который нужно удалить.

2. Нажмите напротив него на знак ···.

3. Выберите Удалить.

Генерация и добавление SSH-ключей при создании виртуальной машины

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

В процессе создания виртуальной машины в разделе SSH-ключ вам будет предложено:

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

  • добавить уже имеющийся в локальном хранилище ключ;

  • сгенерировать новый ключ.

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

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

2. При нажатии на кнопку Сгенерировать SSH ключ, откроется диалоговое окно, введите имя ключа для идентификации его в системе.

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

После добавления или генерации нового SSH-ключа ключи будут появится в разделе Ключи SSH.

dbc55ff1d15edb6adb1ed21e8fafc1ff.png

Подключение с помощью пароля. Подготовка

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

Добавление пароля

При создании виртуальной машины в пункте Дополнительные возможности активируйте опцию Пользовательские данные. Откроется окно, куда можно вписать скрипт для обработки cloud-init агентом, запущенным на виртуальной машине.

_______________________________________.png

Впишите в поле код:

#cloud-config
password: ваш пароль
chpasswd: { expire: False }
ssh_pwauth: True

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

Пароль не обязательно добавлять в явном виде, можно вписать его хэш-сумму (тот же пароль, только преобразованный; машина сможет его считать, а для человека он выглядит как случайный набор символов). Тогда, даже если кто-то попадёт в систему, то всё равно не узнает пароль — внутри будет храниться хэш-сумма. А система даст войти только по паролю. Для генерации хэш-суммы вы можете воспользоваться скриптом на Python:

#!/usr/bin/env python3
# based on https://stackoverflow.com/a/17992126/117471
# pip3 install passlib
import sys
from getpass import getpass
from passlib.hash import sha512_crypt
passwd = input() if not sys.stdin.isatty() else getpass()
print(sha512_crypt.hash(passwd , rounds = 5000 ))

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

Подключение по SSH с Windows 7/8

Важно! Подключение к виртуальной машине по SSH с использованием командной строки (cmd) в операционных системах Windows 7/8 не предусмотрено.

Для подключения воспользуйтесь приложением PuTTY.

1. Скачайте и запустите приложение PuTTY.

2. В разделе Session в поле «Host Name (or IP address)» введите IP-адрес виртуальной машины, который можно найти в столбце «IP адрес» в разделе Виртуальные машины.

8e84563dfe10615aee5bf647136efc5e.png

Важно! Если вы создали машину только с приватным адресом, добавьте плавающий IP. Для этого в разделе Виртуальные машины нажмите на имя виртуальной машины, после чего в открывшемся окне нажмите Добавить IP.

3. В поле «Port» установите «22» — стандартный порт для подключения по SSH.

4. Далее для поля «Connection type» задайте значение SSH.

5. (Пункт только для тех, кто подключается с помощью SSH-ключа) в правой части экрана перейдите в Connection  SSH  Auth.

6. (Пункт только для тех, кто подключается с помощью SSH-ключа) нажмите Browse.

browse.png

7. (Пункт только для тех, кто подключается с помощью SSH-ключа) выберите файл с приватным ключом для виртуальной машины в формате .ppk.

Важно! Если ваш приватный ключ сохранен в формате .pem, конвертируйте его в формат .ppk, как описано в статье «Конвертировать SSH-ключ из формата PEM в PPK». 

8. Нажмите Open. Откроется консоль.

login_as.png

9. В строке «login as» введите имя пользователя, выданное вам при создании виртуальной машины. Оно находится в меню виртуальной машины, там стоит надпись вида «[логин]@[IP машины]. Чаще всего логин совпадает с названием ОС. Например, для машины ниже это «ubuntu». 

21d14b5a0de01b183f860d86aeaab4b1.png

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

mceclip0.png

11. Нажмите Enter.
12. Вы подключились к виртуальной машине.

mceclip0.png

Подключение по SSH с Windows 10, Linux OS или Mac OS

Внимание! Если вы используете Linux OS или Mac OS, перейдите к шагу №7.

В Windows 10 есть встроенный OpenSSH клиент, который позволяет получать доступ к серверу через консоль так же, как и на Linux OS. По умолчанию этот компонент не активирован.

Для его установки:

1. Перейдите в меню Параметры Windows.

_________.png

2. Перейдите в раздел Приложения, нажмите Дополнительные возможности.

__________________________.png

3. В списке найдите OpenSSH Client и нажмите для раскрытия подробного описания.

_______.png

4. Нажмите Установить.

_________________.png

5. Дождитесь завершения установки. После того, как OpenSSH Client будет установлен, перезагрузите компьютер для корректного применения настроек. Для командной строки станет доступна утилита SSH.

6. Откройте командную строку/терминал и введите команду со своими значениями:

 «ssh username@192.168.1.92» — для подключения с помощью пароля;
 «ssh username@192.168.1.92 -i «C:Usersusername.sshid_rsa»»: — для подключения с помощью ключа.

username

Имя пользователя, указано справа от кнопки Открыть консоль.

21d14b5a0de01b183f860d86aeaab4b1.png

192.168.1.92

IP-адрес вашей виртуальной машины.

Важно! Если вы создали виртуальную машину только с приватным интерфейсом, создайте плавающий IP-адрес и используйте его при подключении к ВМ по SSH.

C:Usersusername.sshid_rsa

Путь к файлу с приватным ключом в вашем локальном хранилище.

Ключ должен быть в формате .pem.

7. Утилита предложит добавить устройство в список известных, напишите «yes», чтобы добавить, или «no», чтобы не добавлять. Нажмите Enter.

yes.png

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

mceclip1.png

9. Вы подключились к виртуальной машине.

mceclip2.png

Зачем нужен протокол SSH?

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

Datacenter
Источник: securityboulevard.com.

Специально для таких случаев существуют протоколы удаленного доступа. Они позволяют подключиться к удаленному компьютеру и работать на нем так же, как вы обычно работаете на локальной физической машине. Такие протоколы разделяются на графические и текстовые. Графические протоколы, например, RDP (remote desktop protocol) передают по сети изображение графического интерфейса в одну сторону, движения мыши и события клавиатуры — в другую. Текстовые протоколы, такие как Telnet или SSH, передают только текстовую информацию и позволяют работать в терминале удаленной машины. Здесь мы рассмотрим самый популярный текстовый протокол удаленного доступа — SSH.

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

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

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

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

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

Выводы:

  1. При работе часто возникает потребность выполнять операции на разных удаленных хостах.
  2. Обычное незащищенное соединение для этого не подходит из-за проблем с безопасностью.
  3. Протокол SSH позволяет выполнять команды терминала на удаленной машине.
  4. Протокол SSH начинает шифровать соединение еще до ввода пароля пользователя.
  5. Таким образом можно подключаться к любым машинам, физическим и виртуальным.
  6. SSH является клиент-серверным протоколом. На локальной машине работает клиент ssh, на удаленной — сервер.

Что нужно для успешного удаленного доступа?

SSH client and server
Источник: Wikimedia.

Для того, чтобы иметь возможность подключиться к удаленной машине нужно соблюдение нескольких условий. Во-первых, как мы уже говорили, на ней должен быть установлен и работать ssh сервер. Существуют разные сервера, но самым распространенным является свободный и бесплатный сервер openssh. Он существует и для Linux и для Windows и для других операционных систем. Во многие дистрибутивы Linux, ориентированные на серверную работу он устанавливается по умолчанию. Если же его нет, то установить его очень просто командой:

1
$ sudo apt install openssh-server

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

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

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

Кроме IP-адреса нужно знать номер сетевого порта, который прослушивает сервер ssh. По умолчанию любая служба ssh использует порт 22. Однако, администраторам при настройке сервера рекомендуется ради безопасности изменить порт на случайный. Поэтому для подключения надо знать, был ли переназначен стандартный порт и, если да, то на какой.

Еще одно необходимое условие — знание учетной записи пользователя на удаленной машине. Помните, что после подключения вы первым делом должны будете авторизоваться на сервере. Поэтому для этого вы должны знать имя пользователя и его пароль. Этот пользователь должен быть зарегистрирован именно на удаленной машине. Ваш локальный пользователь не подойдет. Если вы сами настраиваете сервер, то такое надо предусмотреть заранее. Например завести специального пользователя, предназначенного именно для того, чтобы под ним на эту машину заходили по протоколу ssh.

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

Как мы уже говорили, на локальной машине должне быть установле ssh-клиент. В *nix-подобных системах (Linux, macOS) клиент обычно установлен в системе по умолчанию, и достаточно открыть терминал и воспользоваться командой ssh. В Windows нужно скачать сторонний клиент, например, Putty. SSH-клиентов тоже существует много разных. Есть даже графические клиенты. Но даже в них придется работать в командной строке — ведь сам протокол ssh — чисто текстовый.

Выводы:

  1. Для подключения нужно знать адрес сервера, логин и пароль, порт подключения (по умолчанию, 22) .
  2. Еще нужно, чтобы сетевая инфраструктура была правильно настроена.
  3. Нужно, чтобы на удаленной машине работал сервер SSH.
  4. Самый распространенный сервер — OpenSSH — бесплатный и открытый.
  5. Нужно, чтобы удаленная машина была доступна по сети.
  6. Системные администраторы могут заблокировать доступ к порту ssh.
  7. По умолчанию, порты обычно закрыты, нужно их открыть.
  8. На локальной машине должен быть установлен клиент ssh.
  9. Есть консольные и графические клиенты ssh, но работать все равно придется в терминале.

Как подключиться к серверу из командной строки?

Для подключения нужно воспользоваться командой ssh. при запуске нужно указать адрес сервера, имя пользователя и, опционально, порт подключения. Вот как выглядит команда при использовании консольного клиента (в терминале):

1
$ ssh username@remote_host -p port

Например, для подключения к серверу 52.307.149.244 в аккаунт user нужно ввести:

1
$ ssh user@52.307.149.244

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

При первом подключении к конкретному серверу появится такое сообщение:

1
2
3
The authenticity of host '52.307.149.244 (52.307.149.244)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

Введите yes в первый раз.

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

Простейший вариант — подключение по паролю. После ввода команды ssh система запросит пароль:

1
2
$ ssh ivan@52.307.149.244
password: 

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

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

styled-image

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

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

Для выхода из удаленного сеанса необходимо нажать комбинацию клавиш Ctrl + D. Либо можно ввести команду exit.

Выводы:

  1. Команда ssh username@remote_host осуществляет подключение к удаленному терминалу.
  2. Если вы подключились к этому компьютеру первый раз, нужно будет подтвердить его.
  3. Опция -p позволяет подключиться по любому номеру порта.
  4. После установки соединения вам нужно будет ввести пароль от удаленной учетной записи.
  5. После этого вы сможете работать в командной строке так же, как и на локальной машине.
  6. Для выхода из удаленного сеанса есть команда exit или сочетание Ctrl + D.

Как подключиться к серверу по ключу?

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

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

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

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

Итак, чтобы использовать авторизацию по ключу надо первым делом сгенерировать свою собственную пару ключей. Для этого используется программа ssh-keygen, которая включена в пакет ssh-клиента.

Создадим пару ключей:

Программа запустится и спросит, куда сохранять ключи:

1
2
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Нажмите Enter для сохранения в стандартное место — директорию .ssh/id_rsa в вашей домашней директории.

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

1
2
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Ключи созданы:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
8c:e9:7c:fa:bf:c4:e5:9c:c9:b8:60:1f:fe:1c:d3:8a root@here
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|       +         |
|      o S   .    |
|     o   . * +   |
|      o + = O .  |
|       + = = +   |
|      ....Eo+    |
+-----------------+

Теперь у вас есть два файла:

  • ~/.ssh/id_rsa — приватный ключ. Никогда никому и никуда не передавайте его!
  • ~/.ssh/id_rsa.pub — публичный ключ. Спокойно распространяйте его.

В Windows можно использовать ssh-gen в подсистеме Ubuntu for Windows или в командной строке Git for Windows. Или создавать ключи графической утилитой вроде PuTTYgen.

После генерации необходимо скопировать ключ на удаленный сервер. Нужно добавить публичный ключ на сервер в файл ~/.ssh/authorized_keys. Самый простой способ — запустить на локальной машине команду для копирования ключа:

1
$ ssh-copy-id -i /home/demo/.ssh/id_rsa ivan@52.307.149.244

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

Другой способ — подключиться по паролю, открыть в редакторе файл ~/.ssh/authorized_keys и добавить в конец текст из вашего файла ~/.ssh/id_rsa.pub.

Теперь при подключении пароль запрашиваться не будет. После включения соединений по ключу рекомендуется отключить подключение по паролю в настройках ssh сервера.

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

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

Выводы:

  1. Запоминать много паролей от серверов часто неудобно и небезопасно.
  2. Асимметричное шифрование позволяет избежать ввода пароля каждый раз.
  3. Команда ssh-keygen позволяет сгенерировать пару ключей — приватный и публичный.
  4. Приватный ключ надо хранить в секрете. Если он скомпрометирован, придется создавать новую пару.
  5. Публичный ключ может удостоверять подлинность отправителя.
  6. Можно скопировать публичный ключ на сервер командой ssh-copy-id -i.
  7. Ключ может быть разослан на несколько серверов, и на них можно заходить без пароля.
  8. Ключ тоже можно защитить паролем.

Как запомнить частые подключения?

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

В стандартном клиенте ssh предусмотрена возможность запомнить частые подключения в конфигурационном файле. Он располагается по адресу ~/.ssh/config. Если его там нет, вполне можно создать новый пустой. Вообще, папка ~/.ssh/ — это общее место, где собираются многие файлы, имеющие отношение к входящим или исходящим подключениям по ssh. Например, именно туда сохраняются файлы ключей и публичные ключи удаленных пользователей.

Этот файл имеет довольно простую структуру. В нем прописывается символьное имя подключения, которые вы будете использовать вместо строки подключения в команде ssh. После этого могут идти несколько опций, например — имя пользователя, адрес хоста, номер порта, адрес публичного ключа, который будет использоваться при подключении. Выглядит это примерно так:

1
2
3
4
5
6
7
8
9
10
11
12
Host targaryen
    HostName 192.168.1.10
    User daenerys
    Port 7654
    IdentityFile ~/.ssh/targaryen.key

Host tyrell
    HostName 192.168.10.20
    user oberyn

Host martell
    HostName 192.168.10.50

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

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

Выводы:

  1. Файл ~/.ssh/config используется, чтобы запомнить часто использующиеся подключения.
  2. Можно присвоить символьное имя и связать его с адресом, именем пользователя.
  3. В этом файле можно прописать использование определенного файла ключа.
  4. Файл приватного ключа в таком случае выступает идентификацией (identity).

Зачем нужна программа Tmux?

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

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

Tmux (terminal multiplexor) — популярная программа, значительно
облегчающая работы в терминале на удаленной машине. Среди
возможностей данной программы:

  • разделение экрана на несколько консолей
  • создание нескольких экранов
  • сохранение выполняющихся процессов на удаленной машине после выхода из сессии
  • расшаривание ssh сессий нескольким пользователям

То есть кроме поддержания сессии tmux сильно “прокачивает” стандартную командную строчку. Это очень упрощает и ускоряет сложную работу на сервере.

Для начала работы необходимо подключиться к удаленной машине по ssh.
Конечно, можно использовать программу tmux на локальной машине для
расширения возможностей терминала, но здесь мы рассмотрим возможности
этой программы при удаленном доступе к терминалу.

При необходимости нужно установить tmux, введя команду

Обратите внимание, что эта программа должна быть установлена именно на той машине, на которой вы будете выполнять команды. То есть, если вы планируете использовать ее для работы на удаленном сервере, то именно в нем она и должна быть установлена. Если она есть только на вашей локальной машине, на сервере она не заработает.

Теперь можно запустить tmux, введя одноименную команду:

На экране мы видим главное окно программы tmux:

Сочетание клавиш <Ctrl>+B позволяет вводить команды tmux. Наиболее
применимые команды:

  • ctrl-b c — запуск нового окна;
  • ctrl-b , — переименование окна;
  • ctlb-b p — переключение к предыдущему окну;
  • ctlb-b n — переключение к следующему окну;
  • ctlb-b w — вывести список окон;
  • ctlb-b % — разделение окна вертикально на две панели;
  • ctlb-b “ — разделение окна горизонтально;
  • ctlb-b d — отсоединиться от сессии;

Обратите внимание, сначала надо зажать <Ctrl>+B именно как комбинацию клавиш. Потом отпустить и сразу нажать клавишу, соответствующую нужной команде. Поначалу такая работа покажется очень неудобной, но со временем вы привыкните к такому оригинальному методу ввода команд.

Обратите внимание на нижнюю строчку. Здесь перечислены открытые окна
терминала. Можно воспринимать их как вкладки, по которым можно
перемещаться. Мы можем создать новое окно (ctrl-b c):

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

Мы можем также переименовать окно (ctrl-b ,), чтобы лучше ориентироваться. Это бывает полезно для организации рабочего пространства.

Теперь мы имеем второе окно (под номером 1, так как нумерация начинается с 0) с именем window1.

Давайте для иллюстрации запустим в первом окне команду htop:

Tmux позволяет вывести список всех созданных окон (ctrl-b w), в котором можно
перемещаться между ними. Также доступен предварительный просмотр
содержимого каждого окна:

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

Текущее окно или панель можно разбить на две панели как вертикально (ctrl-b %), так и горизонтально (ctrl-b «). Панели можно дробить неограниченное число раз:

При выполнении команды exit (или ctrl-d) панель закрывается.

Если эта панель была единственной в окне — то закроется все окно, а если окно было единственным — программа tmux завершится.

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

Для запуска сессии необходимо запустить tmux со специальным параметром, указав имя сессии:

Запустим в этой сессии какой-нибудь интерактивный процесс:

Нажав сочетание клавиш ctrl-b d, отсоединимся от сессии:

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

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

При запуске tmux можно вывести список всех открытых сессий:

Соответственно, можно вместо запуска нового терминала подключиться к
одной из существующих сессий:

Как мы можем наблюдать, терминал остался в том же состоянии, в котором мы его оставили, когда выходили из сессии:

Выводы:

  1. При отключении от удаленного хоста все запущенные процессы завершатся.
  2. Иногда нужно запустить процесс так, чтобы он продолжался на сервере после отключения.
  3. Для этого существуют специальные резидентные программы, например, tmux.
  4. Tmux организует сессии, которые продолжаются даже после отключения пользователя.
  5. Также вы можете продолжать работу с того места, с которого отключились.
  6. Tmux позволяет создавать несколько вкладок, разбивать окно терминала на области.
  7. Tmux сильно упрощает работу с терминалом и с удаленными серверами.
  8. Для работы tmux должен быть установлен на удаленном сервере.

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

Если вы покупаете VPS сервер или продвинутый хостинг, обычно в письме вместе с другими данными авторизации есть данные доступа по SSH. В этой статье мы рассмотрим как подключиться по SSH к серверу из Linux или Windows.

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

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

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

Для подключения по SSH нам необходимо знать такие данные:

  • ip адрес сервера, к которому мы собираемся подключится;
  • порт, на котором ожидает подключения SSH сервер, по умолчанию используется 22, но в целях безопасности порт подключения ssh часто изменяют;
  • имя и пароль пользователя на удаленном сервере.

Больше ничего не нужно, обычно эти данные присылают в письме вместе с описанием VPS. Теперь перейдем к практике.

1. Подключение через SSH в Linux

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

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

Это самый простой вариант, если вам также нужно задать порт, используйте опцию -p:

$ ssh имя_пользователя@айпи_адрес -p порт

Чтобы выполнить подключение по SSH Linux нажмите Ctrl+Alt+T для открытия терминала и наберите команду, заменив нужные значения:

ssh sergiy@192.168.1.2

Или, с нестандартным портом:

ssh sergiy@192.168.1.2 -p 2223

Если ip_адрес и порт правильные, то на следующем шаге программа попросит у вас ввести пароль:

Если пытаетесь подключится через SSH к этому серверу первый раз, то утилита также попросит подтвердить добавление нового устройства в свой список известных устройств, здесь нужно набрать yes и нажать Enter:

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

Если же произошла ошибка и IP адрес или порт введены неверно, то вы получите ошибку Connection Refused:

Просто убедитесь что порт введен верно. Если это ваш сервер, то, возможно на нем еще нужно разрешить подключение SSH в брандмауэре. В Ubuntu/Debian для этого на удаленном сервере выполните:

sudo ufw allow 22/tcp

А в CentOS/Fedora:

firewall-cmd --permanent --zone=public --add-port=22/tcp

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

Теперь вы знаете как подключиться по ssh linux и решить проблемы с подключением. А теперь перейдем к Windows.

2. Подключение через SSH в Windows

Раньше подключение по SSH из Windows выполнялось только с помощью сторонних утилит, например PuTTY. Но в Windows 10 был добавлен встроенный OpenSSH клиент и работает он точно так же, как и в Linux. По умолчанию этот компонент не активирован. Для его установки откройте Параметры -> Приложения:

Затем выберите Управление дополнительными компонентами:

Здесь нажмите добавить новый компонент и в открывлемся меню выберите OpenSSH Client и нажмите Устанвоить:

Дальше вернитесь назад и дождитесь завершения установки. После того, как SSH клиент будет установлен нужно обязательно перезагрузить компьютер.

После перезагрузки нажмите Win+R чтобы открыть окно запуска команд и наберите в нем cmd:

Далее нажмите Enter. Перед вами откроется командная строка Windows. Здесь можно использовать утилиту ssh. Синтаксис у нее абсолютно такой же, как и для Linux:

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

Например, такой командой можно подключится по SSH к Raspberry Pi, который находится в вашей локальной сети по адресу 192.168.1.5:

ssh pi@192.168.1.5

Утилита предложит добавить устройство в список известных:

Затем предложит ввести пароль:

Все следующие команды будут выполняться уже на Raspberry Pi или другой удаленной машине, к которой вы подключились.

Теперь подключиться к серверу по ssh из этой операционной системы также просто как и из Linux.

Выводы

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

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Содержание

  1. Установка OpenSSH
  2. Установка OpenSSH с помощью приложения «Параметры» в Windows
  3. Установка OpenSSH с помощью PowerShell
  4. Запуск и настройка OpenSSH Server
  5. Подключение к OpenSSH Server
  6. Удаление OpenSSH с помощью приложения «Параметры» в Windows
  7. Удаление OpenSSH с помощью PowerShell
  8. Подключение к Windows по SSH как в Linux
  9. Как подключиться к серверу по SSH с помощью пароля или ключа
  10. Проверка службы SSH на сервере
  11. Использование пароля
  12. Подключение на Windows
  13. Подключение на Linux и macOS
  14. Работа с SSH и SFTP
  15. PuTTY для Windows
  16. Терминал в Linux и Mac OS
  17. Secure Shell в браузере Google Chrome
  18. Использование SSH-ключей
  19. WinSCP для Windows
  20. Терминал в Linux и Mac OS
  21. Подключение с помощью SSH
  22. Что необходимо для подключения с помощью SSH
  23. Запуск сервера SSH
  24. Подключение с использованием имени и пароля
  25. Имя пользователя и пароль в фабричной ОС
  26. Соединение с помощью пары ключей
  27. Создание пары ключей
  28. Подключение
  29. Безопасный FTP

Установка OpenSSH

Область применения Windows Server 2019, Windows 10: Windows Server 2022,

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

OpenSSH можно использовать для подключения устройств с Windows 10 (версия 1809 и более поздние) или Windows Server 2019 с установленным клиентом OpenSSH к таким устройствам с установленным сервером OpenSSH.

Если вы скачали OpenSSH из репозитория GitHub по адресу PowerShell/openssh-portable, следуйте приведенным в репозитории инструкциям, а не инструкциям в этой статье.

Установка OpenSSH с помощью приложения «Параметры» в Windows

Оба компонента OpenSSH можно установить с помощью «Параметров» Windows на устройствах Windows Server 2019 и Windows 10.

Чтобы установить компоненты OpenSSH, сделайте следующее:

Откройте приложение Параметры, выберите элементы Приложения > Приложения и возможности, щелкните Дополнительные возможности.

Просмотрите этот список и определите, установлено ли средство OpenSSH. Если нет, выберите пункт Добавить компонент в верхней части страницы и сделайте следующее:

После завершения установки вернитесь в раздел Приложения > Приложения и возможности и Дополнительные возможности, где теперь должно появиться средство OpenSSH.

Установка OpenSSH с помощью PowerShell

Чтобы установить OpenSSH с помощью PowerShell, запустите PowerShell от имени администратора. Для проверки доступности OpenSSH выполните следующий командлет:

Если ни один из них не установлен, должно отобразиться следующее:

Затем установите нужный серверный или клиентский компонент:

Оба командлета должны вернуть такие выходные данные:

Запуск и настройка OpenSSH Server

Чтобы запустить и настроить OpenSSH Server для первого использования, откройте PowerShell от имени администратора и выполните следующие команды для запуска sshd service :

Подключение к OpenSSH Server

После установки вы можете подключиться к серверу OpenSSH с устройства Windows 10 или Windows Server 2019, на котором установлен клиент OpenSSH, с помощью PowerShell, как показано ниже. Обязательно запустите PowerShell от имени администратора:

Когда подключение будет установлено, отобразится примерно следующее сообщение:

Если выбрать Да, этот сервер будет добавлен в список известных узлов SSH в клиенте Windows.

На этом этапе нужно ввести пароль. В целях безопасности пароль не будет отображаться по мере ввода.

После подключения вы увидите командную оболочку Windows:

Удаление OpenSSH с помощью приложения «Параметры» в Windows

Чтобы удалить OpenSSH с помощью приложения «Параметры» в Windows, сделайте следующее:

Удаление OpenSSH с помощью PowerShell

Чтобы удалить компоненты OpenSSH с помощью PowerShell, выполните следующие команды:

Если служба использовалась во время удаления, может потребоваться перезагрузка Windows.

Источник

Подключение к Windows по SSH как в Linux

Меня всегда удручало подключение к Windows машинам. Нет, я не противник и не сторонник Microsoft и их продуктов. Каждый продукт существует для своей цели, но речь не об этом.
Для меня всегда было мучительно больно подключаться к серверам с Windows, потому что эти подключения либо настраиваются через одно место (привет WinRM с HTTPS) либо работают не очень стабильно (здравствуй RDP к виртуалкам за океаном).

Поэтому, случайно натолкнувшись на проект Win32-OpenSSH, я решил поделиться опытом настройки. Возможно кому-нибудь эта тулза сэкономить кучу нервов.

ni87b jl8n4kb my9tek8 tsgqo

Варианты установки:

Отмечу, что данный проект пока что находится на стадии beta, поэтому его не рекомендуют использовать в production.

Итак, скачиваем последний релиз, на текущий момент это 7.9.0.0p1-beta. Есть версии как для 32 так и для 64 битных систем.

Распаковываем в C:Program FilesOpenSSH
Обязательный момент для корректной работы: права на запись в этой директории должны быть только у SYSTEM и у админской группы.

Устанавливаем сервисы скриптом install-sshd.ps1 находящимся в этой директории

Разрешаем входящие подключения на 22 порт:

Уточнение: апплет New-NetFirewallRule используется на Windows Server 2012 и новее. В наиболее старых системах (либо десктопных) можно воспользоваться командой:

При запуске будут автоматически сгенерированы хост-ключи (если отсутствуют) в %programdata%ssh

Автозапуск сервиса при запуске системы мы можем включить командой:

Так же, можно сменить командную оболочку по умолчанию (после установки, по умолчанию — cmd):

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

А дальше настраиваем sshd_config, который расположем в C:ProgramDatassh. Например:

И создаем в пользовательской папке директорию .ssh, а в ней файл authorized_keys. Туда записываем публичные ключи.

Важное уточнение: права на запись в этот файл, должен иметь только пользователь, в чьей директории лежит файл.

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

К слову, в C:Program FilesOpenSSH лежат 2 скрипта (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), которые должны но не обязаны фиксить права, в том числе и с authorized_keys, но почему-то не фиксят.

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

Источник

Как подключиться к серверу по SSH с помощью пароля или ключа

57f17a235b89760607c14a41ef236594

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

Проверка службы SSH на сервере

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

Например, у меня VDS на Timeweb. Чтобы попасть в консоль, я авторизуюсь по логину и паролю, выданному хостером, выбираю свой сервер в списке VDS и перехожу на вкладку «Консоль».

Screenshot 117

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

Важно: в целях безопасности при вводе пароля на экране не отображаются никакие символы, даже привычные звездочки.

После авторизации в консоли можно проверить, запущена ли служба SSH на сервере.

2020 07 27 105703

Если служба не активна, добавьте ее самостоятельно. Выполните команду sudo apt install openssh-server и подтвердите установку пакетов.

Кроме того, для подключения вам может понадобиться настройка брандмауэра. Чтобы межсетевой экран не блокировал входящие соединения, можно на время отключить его командой sudo ufw disable.

Использование пароля

Начнем с инструкции о том, как подключиться к удаленному серверу через SSH по логину и паролю. Это самый простой способ. Хостер предоставляет вам IP-адрес, логин и пароль. Этого достаточно для того, чтобы установить соединение с удаленным сервером.

Подключение на Windows

Моя основная система — Windows. Раньше для подключения к серверу через SSH я пользовался сторонней утилитой PuTTY, потому что в операционной системе не было встроенного компонента. В «десятке» он появился, так что теперь можно подключаться к SSH через командную строку (cmd).

Чтобы включить встроенный в систему OpenSSH:

2020 07 27 110340

Теперь разберемся, как подключиться к SSH через cmd. Запустите командную строку и выполните запрос вида ssh root@185.104.114.90.

После выполнения команды клиент SSH предложит добавить устройство в список известных. Введите в командной строке yes и нажмите на Enter. Затем укажите пароль для доступа к серверу. На этом подключение завершено — теперь все команды будут выполняться на удаленной машине, к которой вы подключились.

На версиях младше Windows 10 1809 нет встроенной поддержки протокола OpenSSH. В таком случае понадобится сторонняя утилита. Смотрим, как через PuTTY подключиться по SSH:

2020 07 27 110612

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

Подключение на Linux и macOS

Теперь посмотрим, как подключиться по SSH через терминал на Linux. Для этого не требуется установка дополнительных компонентов, все работает «из коробки».

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

Если IP-адрес или порт указаны неверно, то на экране появится сообщение об ошибке — Connection Refused. Это может также говорить о том, что доступ запрещен брандмауэром на удаленном сервере (если вы его не отключили). Чтобы разрешить подключение через SSH:

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

Источник

Работа с SSH и SFTP

SSH — защищенный сетевой протокол. Он позволяет установить соединение по зашифрованному туннелю и управлять удаленным сервером с помощью команд.

Для соединения с сервером используйте:

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

PuTTY для Windows

Для соединения по SSH из ОС Windows установите SSH-клиент PuTTY. Он распространяется бесплатно. Скачайте программу с официального сайта и запустите ее.

В списке категорий выберите пункт «Session», в графе «Host name (or IP adress)» введите IP-адрес сервера, где расположен аккаунт, или доменное имя сайта. В блоке «Connection type» отметьте «SSH». Нажмите «Open».

putty 01 5da2da78a2849

Нажмите «Да» в окне с предупреждением: сервер будет добавлен в список доверенных хостов.

putty 02 5da2da88b40f1

В окне консоли введите логин вашего аккаунта, нажмите «Enter» и укажите пароль для входа в Панель управления. В целях безопасности пароль при вводе не отображается.

putty 04 5da2da96dced7

Если пароль введен верно, вы увидите следующее:

putty 05 5da2daa4d671d

Терминал в Linux и Mac OS

Подключиться по SSH из операционных систем Mac OS или Linux можно с помощью встроенного приложения «Терминал».

linux 01 5da2dab30bb04

Введите пароль от Панели управления и нажмите «Enter».

linux 03 5da2dabb206ed

Secure Shell в браузере Google Chrome

Secure Shell — дополнение для Google Chrome, выпущенное компанией Google. С его помощью можно подключиться к серверу по SSH из браузера.

Установите дополнение, скачав его из официального интернет-магазина, перезагрузите браузер.

shell 01 5da2dac84a8b3

Откройте новую вкладку, перейдите в раздел «Сервисы» и кликните на значок расширения «Secure Shell» — приложение откроется в новом окне.

shell 02 5da2dad5bead2

В поле «username@hostname или текст» укажите логин вашего аккаунта и через символ «@» хост — IP-адрес сервера или домен сайта. Нажмите кнопку «[ВВОД] Подключить».

shell 03 5da2dae281b73

Укажите пароль, который вы используете для входа в Панель управления и нажмите «Enter». В целях безопасности символы пароля не отображаются.

shell 04 5da2dafbefb34

Готово, соединение установлено!

Использование SSH-ключей

Для подключения к аккаунту по SSH-ключам предварительно генерируем персональную пару ключей — открытый и закрытый. Первый ключ копируем на удаленный сервер, а второй — никому не передаем (только через защищенные каналы).

Вот так ключи можно создать в ОС GNU, Linux и macOS.

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

/.ssh/id_rsa). Вводим дополнительный пароль – пассфразу – и подтверждаем ее.

Далее копируем SSH-ключи на аккаунт с помощью команды:

где login – логин аккаунта, server – IP-адрес сервера.

Готово! Попробуйте подключиться по SSH к аккаунту хостинга и при авторизации укажите пассфразу.

С помощью SSH можно не только безопасно управлять сервером, но и передавать файлы. Для этой цели был создан отдельный протокол SFTP (SSH File Transfer Protocol).

Принцип его работы похож на FTP, при этом данные передаются по зашифрованному туннелю.

WinSCP для Windows

WinSCP — бесплатный клиент для подключения к серверу по SFTP из ОС Windows. Скачайте WinSCP с официального сайта, установите его на компьютер и запустите.

В выпадающем списке «Протокол передачи» выберите «SFTP». В графе «Имя хоста» введите IP-адрес сервера, где размещен ваш аккаунт, или доменное имя сайта. «Имя пользователя» и «Пароль» укажите те же, что при входе в Панель управления.

winscp 01 5da2db103184f

Нажмите «Да», чтобы добавить сервер в список доверенных.

winscp 02 5da2db1bc4833

Готово, соединение установлено!

winscp 03 5da2db261ab52

Терминал в Linux и Mac OS

Для подключения по SFTP используйте приложение «Терминал».

Запустите программу и введите команду:
sftp username@X.X.X.X
где X.X.X.X — IP-адрес сервера или домен сайта.

linux 02 5da2db3089309

Чтобы увидеть список доступных для SFTP команд, введите help или ? и нажмите «Enter».

Источник

Подключение с помощью SSH

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

Вы можете использовать SSH для подключения ко всем образам ОС фабрики.

ssh topology

Что необходимо для подключения с помощью SSH

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

Запуск сервера SSH

На изображениях, содержащих манифест компонента Виндовскоренонпродуктионфм, можно добавить WCOS_OPENSSH_AUTOSTART компонент для автоматического запуска сервера SSH.

Подключение с использованием имени и пароля

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

Имя пользователя и пароль в фабричной ОС

Заводская ОС включает встроенную учетную запись администратора, которую можно использовать для подключения по протоколу SSH:

Вы можете настроить имя пользователя и пароль с помощью SSHUsername SSHPassword параметров и в платформе настройки параметров.

Соединение с помощью пары ключей

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

Вам потребуется открытый ключ в формате OpenSSH. Запустите ssh-keygen.exe на техническом компьютере, чтобы создать его. ssh-keygen входит в состав Windows.

Создание пары ключей

В командной строке на техническом компьютере выполните команду, ssh-keygen.exe чтобы создать общедоступную и закрытую пару ключей. При выполнении этой команды можно сохранить ключи в расположении на компьютере, а также задать пароль:

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

Перейдите в папку, в которой вы сохранили ключи, вы увидите закрытый ключ, у которого нет расширения и открытый ключ с расширением PUB.

Откройте файл открытого ключа в текстовом редакторе. Открытый ключ не является конфиденциальным. Вот как они выглядят:

Скопируйте содержимое открытого ключа в буфер обмена.

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

Подключение

После настройки проверку подлинности можно подключиться к устройству ОС фабрики.

Откройте окно командной строки на техническом компьютере.

Подключение на устройство:

Где user — это имя пользователя, выбранное при настройке SSH, а 192.168.1.2 — IP-адрес устройства вашей ОС фабрики.

Где C:UsersUser/.ssh/id_rsa идентификатор закрытого ключа user — это имя пользователя, выбранное при настройке SSH, а 192.168.1.2 — IP-адрес устройства вашей ОС фабрики.

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

Безопасный FTP

Вы можете использовать SSH для передачи файлов по протоколу SFTP. Если вы включили SSH на устройстве ОС фабрики, вы также сможете подключиться по протоколу SFTP.

Если вы предпочитаете программу командной строки, вы можете использовать sftp и scp :

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

Источник

Понравилась статья? Поделить с друзьями:
  • Как подключиться по rdp с mac на windows
  • Как подключиться по rdp к windows server 2016
  • Как подключиться по rdp к windows 10 через интернет
  • Как подключиться по rdp к windows 10 домашняя
  • Как подключиться к файловому серверу windows 10