как установить ssh на windows 7 через командную строку
Подключение к Windows по SSH как в Linux
Меня всегда удручало подключение к Windows машинам. Нет, я не противник и не сторонник Microsoft и их продуктов. Каждый продукт существует для своей цели, но речь не об этом.
Для меня всегда было мучительно больно подключаться к серверам с Windows, потому что эти подключения либо настраиваются через одно место (привет WinRM с HTTPS) либо работают не очень стабильно (здравствуй RDP к виртуалкам за океаном).
Поэтому, случайно натолкнувшись на проект Win32-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 после для применения изменений.
Установка 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 7 через SSH-консоль при помощи Cygwin
OSmaster.org.ua > Windows > Seven > Как получить доступ к Windows 7 через SSH-консоль при помощи Cygwin
Если вы себя комфортно чувствуете при работе с Linux/Unix и хотели бы получить SSH-доступ к вашей машине на Windows 7, то такое приложение, как Cygwin сможет вам обеспечить такую возможность и предоставить знакомую среду для работы. При этом необходимо проделать всего несколько простых настроек.
Установка OpenSSH.
Для работы по SSH нам необходимо установить OpenSSH. Для этого, скачайте файл setup.exe, который доступен для скачивания в конце этой статьи и запустите его.
В появившемся диалоге установки можете выбирать все параметры по умолчанию, но до следующего момента. В окне выбора пакетов для установки необходимо набрать в окне поиска (Search) слово «open» и открыть список пакетов в категории «Net», нажав на плюс напротив этой категории.
Далее вам необходимо найти строчку с именем пакета «openssh». После чего кликните по надписи в столбике «New» напротив этого пакета пока не увидите появившейся крестик в ячейке в столбике под именем «Bin». Как это показано на предыдущем рисунке. Потом жмем «Next» и дожидаемся пока установщик скачает и установит нужные пакеты.
Конфигурация OpenSSH in Cygwin.
В отличии от Linux дистрибутивов, OpenSSH в Windows 7 не сможет настроить сам себя автоматически для работы. Необходимо выполнить несколько простых шагов. Для начала, кликните правой кнопкой по ярлыку Cygwin и запустите его от имени администратора (Run as administrator):
Так мы убедимся, что имеем все права для корректной настройки. Вы увидите пустое окно Cygwin.
Далее введите следующую команду:
Вы увидите как скрипт сгенерирует некоторые файлы по умолчанию, а затем выдаст вам вопрос на подтверждение разделения доступа по правам или привилегиям (Privilege Separation). Эта настройка присутствует в стандартной установке OpenSSH и в других системах, поэтому наберите слово «yes» напротив вопроса.
Далее вам будет предложено создать новый аккаунт (учетную запись для SSH) с особыми привилегиями (правами). Поэтому наберите «yes» и скрипт продолжит работу.
Далее вас спросят, хотите ли вы запускать sshd (процесс для приема SSH-соединений) как службу. Это позволит вам получить SSH-доступ независимо от того запущен ли в данный момент Cygwin. Необходимо набрать слово «yes» напротив вопроса для продолжения.
Далее вас попросят ввести значение для даемона. Наберите следующее:
Вы увидите, что скрипт выдаст вам некоторую информацию об вашей системе, после чего попросит вас создать привилегированный аккаунт с именем пользователя по умолчанию «cyg_server». Аккаунт с этим именем пользователя работает нормально, но если вы хотите изменить имя вашей привилегированной записи на другое, то ответьте «no» и введите тот логин, который вам подходит.
Конечно же, необходимо ввести пароль для этого аккаунта.
Cygwin отобразит введенный вами пароль для вашей учетной записи в тексте командной строки, поэтому необходимо убедиться, что вы в безопасном месте и никто его не увидит. Вы увидите некоторую дополнительную информацию и, если все прошло нормально, то получите сообщение о том, что настройка успешно завершена.
Вы можете перезагрузиться или ввести следующую команду для запуска службы sshd:
Теперь можно набрать «exit» для выхода с интерфейса Cygwin.
Конфигурация пользователя в SSH.
Теперь необходимо создать соответственно SSH-ключи для вашего привилегированного аккаунта. Просто запустите Cygwin и введите в консоль следующую команду:
Вас попросят создать специфические ключи для вашего аккаунта. Поэтому советую сделать так: на первый вопрос ответьте «no», а на второй — «yes».
Почему именно так? Потому что SSH2 более безопасен, поэтому рекомендую его использовать для хранения ключей. После ввода пароля, вас спросят не хотели бы вы использовать эту идентификацию для доступа к этой машине. Наберите «yes».
Далее скрипт спросит нужно ли создать SSH2 DSA ID файл. Это необходимо, если вы хотите получать доступ не по паролю, а по этому файлу-ключу. Советую ответить «no».
Вот и все. Все уже настроено и если вы хотите проверить вашу конфигурацию, то введите следующую команду в консоль Cygwin:
Ключ –v включит режим «verbose», который покажет вам все детали процесса. Затем, когда вас спросит продолжать ли соединение, то наберите «yes», а после того введите пароль в консольную строку. Если вы изменили имя пользователя по умолчанию, то необходимо будет ввести и его.
Если все прошло удачно, то вы увидите стандартную bash-строку.
Возможные проблемы.
Если в процессе настройки возникают некоторые ошибки, то убедитесь что вы запустили консоль Cygwin от имени администратора или вы работаете в учетной записи с правами администратора.
Если в процессе подключения к вашей Windows 7 с другого компьютера вы получили сообщение об ошибке, то убедитесь что фаерволл (firewall) на этих машинах не блокирует 22 порт (23 порт если вы используете SFTP).
Скачать установщик Cygwin можно по следующей ссылке:
Также рекомендую прочитать:
23 Комментариев
$ ssh-host-config
-bash: ssh-host-config: команда не найдена
$
как понять? помогите пожалуйста
$ cd/
-bash: cd/: No such file or directory
Все ли пакеты установлены?
Скажите, при настройка пользователя,созданного Cygwin, я должен Cygwin запустить от имени этого пользователя, либо все можно сделать под администратором?
В вашем примере все операции выполнялись от имени пользователя Yatri, хотя для ssh сервера был создан другой пользователь?
Нет. Сама служба стартует сразу при загрузке системы от имени созданного ей привилегированного пользователя. Вход по SSH осуществляется от имени пользователя «cyg_server», или другого, введенного вами на этом этапе установки и по паролю, который вводился вами после имени пользователя.
Настройка командой ssh-host-config заканчивается ошибкой
win 32 error 1057
Ошибки быть не должно. Просто недавно проработал установку ssh-сервера на Cygwin. Проверите установлены ли все пакеты. Их должно быть 2, как показано на втором рисунке: openssh и openssl.
Спасибо. Теперь всё получилось.
помогите. не вводится пароль… что делать.
Не вводиться пароль, или не пускает при попытке войти по ssh?
Добрый день.
Как и у Павла, возникает аналогичная проблема — установка sshd заканчивается
/usr/bin/cygrunsrv: Error installing a service: CreateService: Win32 error 1057:
уже неоднократно проверял какие пакеты скачивать. Переустанавливал. Не помогло.
Просьба помочь и указать возможные ошибки.
На каком именно этапе выскакивает эта ошибка? Точно запускаете установку с правами администратора?
А модем находится или подключен к компьютеру с какой именно операционной системой и откуда к нему нужно подключаться?
В чем может быть проблема?
В консоли Cygwin выполняю *bat перезапуска программы
( TASKKILL /F /IM программа.exe /T
start c:\diskD\ExecAs\программа.lnk ), все работает.
А через ssh, программа убивается, вроде даже запускается, но через пару секунд вылетает.
Затрудняюсь ответить, есть только догадка, возможно есть проблема с правами пользователя от имени которого запускается Cygwin на Windows.
/usr/bin/cygrunsrv: Error installing a service: CreateService: Win32 error 1057 не работает
На каком именно этапе вылезает эта ошибка?
debug1: identity file /home/user/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/user/.ssh/id_rsa
Connection closed by ::1
При доступе через консоль с Ubuntu на Win7 — тишина а потом разрыв соединения из-за лимита ожидания.
С Win7 на Ubuntu захожу без проблем…
В чем трабла?!
Служба sshd работает? Команда ssh –v localhost проходит?
у меня была аналогичная проблема при установке крона, при этом крон для кигвин я уже не раз настраивал на других машинах, по этой причине тут и оказался, если вы прочитаете что написано после Win32 error 1057:
там будут кракозябры, переведя из кои8 в вин1251 вы сможете прочитать «Имя учетной записи задано неверно или не существует, или же неверен указанный …»
и тут меня осенило, я перенес кигвин простым копированием,
соответственно надо проверить чтобы в файле /etc/passwd
были корректные данные о пользователе и хосте.
Оставить комментарий Отменить ответ
Как подключиться по 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 » и ее параметрам можно получить на сайте man.openbsd.org/ssh или на opennet.ru (перевод).
Подключение по SSH через PuTTY
В тех случаях, когда версия Windows 10 не поддерживает OpenSSH (или используется Windows 7) к SSH можно подключаться с помощью программы PyTTY. Скачать установщик данной программы можно на официальном сайте www.putty.org.
После установки программы PyTTY ее можно будет запустить с помощью поиска в меню « Пуск »
Сразу после запуска программы PuTTY появляется окно с настройками подключения. Основными параметры здесь находятся на вкладке « Session », здесь нужно ввести:
После ввода этих данных можно запускать подключение с помощью кнопки « Open ».
Если для подключения к SSH используются ключи, то путь к приватному ключу нужно указать в разделе « Connection – SSH – Auth ».
Обратите внимание, ключ должен быть сгенерирован программой PuTTYgen, которая устанавливается вместе с PuTTY. Если вы сгенерировали ключи с помощью OpenSSH, то их можно загрузить в PuTTYgen и сохранить в формате подходящем для PuTTy.
Если информация для подключения правильная, то вы увидите консоль с запросом на ввод имени пользователя пароля. Также при первом запуске появится запрос на добавление компьютера в список известных.
После ввода этих данных вы будете подключены к удаленному серверу по SSH.
Подключение с помощью SSH
С помощью OpenSSH можно подключиться к тестовым устройствам и виртуальным машинам фабрики, а также выполнять команды или передавать файлы. OpenSSH (Secure Shell) — Стандартный протокол для безопасного подключения терминала.
Вы можете использовать SSH для подключения ко всем образам ОС фабрики.
Что необходимо для подключения с помощью 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:\Users\User/.ssh/id_rsa идентификатор закрытого ключа user — это имя пользователя, выбранное при настройке SSH, а 192.168.1.2 — IP-адрес устройства вашей ОС фабрики.
Введите пароль для пользователя, если вы подключаетесь с именем пользователя и паролем, или если вы настроили ключ так, чтобы он затребовал пароль.
Безопасный FTP
Вы можете использовать SSH для передачи файлов по протоколу SFTP. Если вы включили SSH на устройстве ОС фабрики, вы также сможете подключиться по протоколу SFTP.
Если вы предпочитаете программу командной строки, вы можете использовать sftp и scp :
указанные выше служебные программы включены в Windows и могут запускаться путем запуска командной строки.