Как получить доступ к 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.

Далее введите следующую команду:

ssh-host-config

Вы увидите как скрипт сгенерирует некоторые файлы по умолчанию, а затем выдаст вам вопрос на подтверждение разделения доступа по правам или привилегиям (Privilege Separation). Эта настройка присутствует в стандартной установке OpenSSH и в других системах, поэтому наберите слово «yes» напротив вопроса.

Далее вам будет предложено создать новый аккаунт (учетную запись для SSH) с особыми привилегиями (правами). Поэтому наберите «yes» и скрипт продолжит работу.

Далее вас спросят, хотите ли вы запускать sshd (процесс для приема SSH-соединений) как службу. Это позволит вам получить SSH-доступ независимо от того запущен ли в данный момент Cygwin. Необходимо набрать слово «yes» напротив вопроса для продолжения.

Далее вас попросят ввести значение для даемона. Наберите следующее:

ntsec

Вы увидите, что скрипт выдаст вам некоторую информацию об вашей системе, после чего попросит вас создать привилегированный аккаунт с именем пользователя по умолчанию «cyg_server». Аккаунт с этим именем пользователя работает нормально, но если вы хотите изменить имя вашей привилегированной записи на другое, то ответьте «no» и введите тот логин, который вам подходит.

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

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

Вы можете перезагрузиться или ввести следующую команду для запуска службы sshd:

net start sshd

Теперь можно набрать «exit» для выхода с интерфейса Cygwin.

Конфигурация пользователя в SSH.

Теперь необходимо создать соответственно SSH-ключи для вашего привилегированного аккаунта. Просто запустите Cygwin и введите в консоль следующую команду:

ssh-user-config

Вас попросят создать специфические ключи для вашего аккаунта. Поэтому советую сделать так: на первый вопрос ответьте «no», а на второй — «yes».

Почему именно так? Потому что SSH2 более безопасен, поэтому рекомендую его использовать для хранения ключей. После ввода пароля, вас спросят не хотели бы вы использовать эту идентификацию для доступа к этой машине. Наберите «yes».

Далее скрипт спросит нужно ли создать SSH2 DSA ID файл. Это необходимо, если вы хотите получать доступ не по паролю, а по этому файлу-ключу. Советую ответить «no».

Вот и все. Все уже настроено и если вы хотите проверить вашу конфигурацию, то введите следующую команду в консоль Cygwin:

ssh –v localhost

Ключ –v включит режим «verbose», который покажет вам все детали процесса. Затем, когда вас спросит продолжать ли соединение, то наберите «yes», а после того введите пароль в консольную строку. Если вы изменили имя пользователя по умолчанию, то необходимо будет ввести и его.

Если все прошло удачно, то вы увидите стандартную bash-строку.

Возможные проблемы.

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

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

Скачать установщик Cygwin можно по следующей ссылке:

<<<СКАЧАТЬ>>>

Оцените эту статью: 1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд6 Звезд7 Звезд8 Звезд9 Звезд10 Звезд (2 голосов, среднее: 6,50)
Загрузка...

22 Комментариев

  1. Nurlan

    Nurlan@Nurlan-PC ~
    $ ssh-host-config
    -bash: ssh-host-config: команда не найдена

    Nurlan@Nurlan-PC ~
    $
    как понять? помогите пожалуйста

  2. Nurlan

    Nurlan@Nurlan-PC ~
    $ cd/
    -bash: cd/: No such file or directory

    Nurlan@Nurlan-PC ~
    $
    тоже ошибка

    1. administrator (Автор записи)

      Все ли пакеты установлены?

      1. Yury2003

        Скажите, при настройка пользователя,созданного Cygwin, я должен Cygwin запустить от имени этого пользователя, либо все можно сделать под администратором?
        В вашем примере все операции выполнялись от имени пользователя Yatri, хотя для ssh сервера был создан другой пользователь?

        1. administrator (Автор записи)

          Нет. Сама служба стартует сразу при загрузке системы от имени созданного ей привилегированного пользователя. Вход по SSH осуществляется от имени пользователя «cyg_server», или другого, введенного вами на этом этапе установки и по паролю, который вводился вами после имени пользователя.

  3. Павел

    Настройка командой ssh-host-config заканчивается ошибкой
    win 32 error 1057

    1. administrator (Автор записи)

      Ошибки быть не должно. Просто недавно проработал установку ssh-сервера на Cygwin. Проверите установлены ли все пакеты. Их должно быть 2, как показано на втором рисунке: openssh и openssl.

      1. Павел

        Спасибо. Теперь всё получилось.

  4. Vlad

    помогите!!! не вводится пароль… что делать???

    1. administrator (Автор записи)

      Не вводиться пароль, или не пускает при попытке войти по ssh?

  5. evgeny

    Добрый день.
    Как и у Павла, возникает аналогичная проблема — установка sshd заканчивается
    /usr/bin/cygrunsrv: Error installing a service: CreateService: Win32 error 1057:
    уже неоднократно проверял какие пакеты скачивать. Переустанавливал. Не помогло.
    Просьба помочь и указать возможные ошибки.

    1. administrator (Автор записи)

      На каком именно этапе выскакивает эта ошибка? Точно запускаете установку с правами администратора?

  6. Анатолий

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

    1. administrator (Автор записи)

      А модем находится или подключен к компьютеру с какой именно операционной системой и откуда к нему нужно подключаться?

  7. yuraLCFR

    В чем может быть проблема?
    В консоли Cygwin выполняю *bat перезапуска программы
    ( TASKKILL /F /IM программа.exe /T
    start c:\diskD\ExecAs\программа.lnk ), все работает.
    А через ssh, программа убивается, вроде даже запускается, но через пару секунд вылетает.

    1. administrator (Автор записи)

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

  8. Серега

    /usr/bin/cygrunsrv: Error installing a service: CreateService: Win32 error 1057 не работает

    1. administrator (Автор записи)

      На каком именно этапе вылезает эта ошибка?

  9. whitefish

    Делал все по инструкции, но при попытке подключения не находит id_rsa, хотя сам файл создается и лежит в папке .ssh

    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

    1. administrator (Автор записи)

      Генерации ключей для ssh-host-config и ssh-user-config прошли успешно? Тест сам на себя выполняется успешно (ssh –v localhost)? В терминале линукс такую команду используете: ssh -i id_rsa -l user serverIP?

  10. Юзер

    При доступе через консоль с Ubuntu на Win7 — тишина а потом разрыв соединения из-за лимита ожидания.
    С Win7 на Ubuntu захожу без проблем…
    В чем трабла?!

    1. administrator (Автор записи)

      Служба sshd работает? Команда ssh –v localhost проходит?

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Выполните действие! (обязательно) Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.