Подключение linux windows ssh

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

Для настройки и управления удаленными серверами на базе 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 или выше, то все нормально, в противном случае сначала нужно выполнить обновление.

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Passmark burnintest linux ���������

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Как использовать ключи SSH с Windows в Azure

Применимо к: ✔️ виртуальные машины Linux ✔️ гибкие масштабируемые наборы

Эта статья предназначена для пользователей Windows, желающих создать и использовать ключи Secure Shell (SSH) для подключения к виртуальным машинам Linux в Azure. Вы также можете создать и сохранить ключи SSH на портале Azure, они будут использоваться при создании виртуальных машин на портале.

Общие сведения о SSH и ключах

SSH — это протокол зашифрованного подключения, позволяющий безопасно входить в систему через незащищенные соединения. SSH — это протокол подключения по умолчанию для виртуальных машин Linux, размещенных в Azure. Хотя протокол SSH и обеспечивает зашифрованное подключение, при использовании паролей с SSH виртуальные машины все равно не защищены от атак методом подбора. Мы рекомендуем подключаться к виртуальной машине по SSH с помощью пары «открытый ключ — закрытый ключ», также известных как ключи SSH.

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

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

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

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

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

Читайте также:  Windows 10 sp1 ultimate x64 iso

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

Поддерживаемые форматы ключей SSH

В настоящее время платформа Azure поддерживает пары из открытого и закрытого ключей SSH-2 RSA длиной не менее 2048 битов. Другие форматы ключей, например ED25519 и ECDSA, не поддерживаются.

SSH-клиенты

Последние версии Windows 10 содержат команды клиента OpenSSH для создания и использования ключей SSH и установления SSH-подключений из PowerShell или командной строки. Это самый простой способ создать SSH-подключение к виртуальной машине Linux с компьютера Windows.

Можно также использовать Bash в Azure Cloud Shell для подключения к виртуальной машине. Cloud Shell можно использовать в веб-браузере, на портале Azure или в качестве терминала в Visual Studio Code с помощью расширения учетной записи Azure.

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

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

Создайте пару ключей SSH с помощью команды ssh-keygen . Введите имя файла или используйте имя по умолчанию, указанное в скобках (например, C:\Users\username/.ssh/id_rsa ). Введите парольную фразу для файла или оставьте поле пустым, если вы не хотите использовать парольную фразу.

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

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

В Azure CLI вы указываете путь и имя файла для открытого ключа с помощью az vm create и параметра —ssh-key-value .

В PowerShell используйте New-AzVM и добавьте ключ SSH в конфигурацию виртуальной машины с помощью `. Например, изучите Краткое руководство. Создание виртуальной машины Linux в Azure с помощью PowerShell.

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

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

С помощью открытого ключа, развернутого на виртуальной машине Azure, и закрытого ключа в локальной системе установите SSH-подключение к виртуальной машине, используя ее IP-адрес или DNS-имя. Замените azureuser и 10.111.12.123 в приведенной команде, указав имя администратора, IP-адрес (или полное доменное имя) и путь к закрытому ключу:

Если вы ранее не подключались к этой виртуальной машине, отобразится запрос на проверку отпечатка узлов. Просто принять представленный отпечаток может быть очень заманчиво, но при этом возникает риск стать участником в атаке «злоумышленник в середине». Всегда проверяйте допустимость отпечатка узлов. Вам нужно сделать это только при первом подключении из клиента. Чтобы получить отпечаток узла через портал, используйте Выполнение команд со следующими параметрами: ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk ‘‘ .

Чтобы выполнить команду с помощью CLI, используйте команду az vm run-command invoke .

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

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

Дальнейшие действия

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

Читайте также:  Переустановить node js windows

Для создания ключей SSH и установления SSH-подключений к виртуальным машинам Linux можно также использовать PowerShell в Azure Cloud Shell. Ознакомьтесь с разделом Краткое руководство по использованию PowerShell в Azure Cloud Shell (предварительная версия).

Если при подключении к виртуальным машинам Linux по протоколу SSH возникают трудности, см. статью Troubleshoot SSH connections to an Azure Linux VM that fails, errors out, or is refused (Устранение неполадок с ошибками, сбоем или отклонением SSH-подключения к виртуальной машине Azure Linux).

Источник

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

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

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

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

  1. Вручную
  2. Через пакет Chocolatey
  3. Через Ansible, например роль jborean93.win_openssh

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Стандартный подход к подключению к серверам.
    Когда есть немного Windows машин, очень неудобно когда:
    Так, сюда мы ходим по ssh, а тут рдп,
    и вообще best-practice с бастионами, сначала ssh-туннель, а через него RDP.
  • Простота настройки
    Считаю что это очевидно.
  • Скорость подключения и работы с удаленной машиной
    Нет графической оболочки, экономятся как ресурсы сервера, так и количество передаваемых данных.

Минусы:

  • Не заменяет RDP полностью.
    Не все можно сделать из консоли, увы. Я имею ввиду ситуации, когда требуется GUI.

Материалы использованные в статье:
Ссылка на сам проект
Варианты установки бессовестно скопированы с Ansible docs.

Источник

Оцените статью