Вопрос или проблема
Как правильно установить OpenSSH (используя последнюю версию от mls-software) на Windows 7 и настроить его для подключения удаленных пользователей с помощью пароля или аутентификации по публичному ключу?
Я установил его и могу ssh на localhost
с самой Windows машины, но не могу ssh с удаленной (OSX) машины. Использование локального IP-адреса Windows машины (вместо localhost
) также срабатывает – только на самой Windows машине.
Вывод ssh -V
на Windows машине:
OpenSSH_7.1p1, OpenSSL 1.0.2d 9 Jul 2015
Вывод при попытке ssh с удаленной машины (неудачно): http://pastebin.com/3sryrEt3
Вывод при использовании ssh с самой Windows машины (удачно): http://pastebin.com/zhXiJCHs
Я не вносил никаких изменений в конфигурацию по умолчанию sshd, которая поставляется с этой версией OpenSSH.
Я исследовал это в течение нескольких часов некоторое время назад. Чтобы получить работающие сервер OpenSSH и клиент OpenSSH в Windows 7, вам потребуется:
- Установленный Cygwin
- Добавить OpenSSH в Cygwin
- Изменить настройки и, возможно, другие параметры в Cygwin
Смотрите это руководство для получения дополнительной информации, видео 2012 года под названием “Установка OpenSSH в Windows 7”:
https://www.youtube.com/watch?v=DHAEsUL6rsw
В Cygwin я нашел, что было легко заставить ssh работать в этом направлении:
– Компьютер с Windows 7 -> ssh на компьютер с Linux в одной локальной сети
но сложно заставить работать в этом направлении:
– Компьютер GNU/Linux -> ssh на компьютер с Windows 7 в одной локальной сети
но, похоже, что это видео на YouTube и другие материалы содержат детали о том, как это сделать. У меня не было возможности подтвердить это, так как один из моих компьютеров умер, но похоже, что это видео содержит решение. Также, я полагаю, Cygwin доступен и работает на Mac или OSX.
Ответ или решение
Настройка OpenSSH (сервера) на Windows 7
OpenSSH предоставляет мощный инструмент для удалённого администрирования и обмена данными через защищённые соединения. Установка и настройка OpenSSH на Windows 7 может быть несколько сложной задачей, однако, следуя представленным шагам, вы сможете успешно настроить сервер SSH, который позволит удалённым пользователям подключаться через аутентификацию по паролю или публичному ключу.
Шаг 1: Установка OpenSSH
-
Скачивание OpenSSH:
Для начала вам нужно скачать последнюю версию OpenSSH для Windows с сайта mls-software.com. Убедитесь, что вы выбираете подходящую для вашей архитектуры версию (32-бит или 64-бит). -
Установка Cygwin (если это требуется):
- Убедитесь, что у вас установлен Cygwin, так как для работы OpenSSH на Windows 7 использование этой среды может оказаться необходимым.
- Скачайте Cygwin с официального сайта и установите его на вашу машину.
- Во время установки убедитесь, что пакеты
openssh
иcygrunsrv
установлены.
-
Установка OpenSSH:
- Следуйте инструкциям установщика OpenSSH для извлечения файлов в удобную директорию. Например, вы можете создать папку
C:\Program Files\OpenSSH
.
- Следуйте инструкциям установщика OpenSSH для извлечения файлов в удобную директорию. Например, вы можете создать папку
Шаг 2: Конфигурация OpenSSH
-
Настройка конфигурационного файла:
- Откройте файл
sshd_config
, который находится в каталоге установки OpenSSH (например,C:\Program Files\OpenSSH\etc\sshd_config
). - Обратите внимание на параметры, связанные с аутентификацией. Убедитесь, что следующие строки находятся в файле и не закомментированы:
PasswordAuthentication yes PubkeyAuthentication yes
- При необходимости вы можете добавить или изменить другие параметры, такие как
PermitRootLogin
, чтобы настроить уровень безопасности.
- Откройте файл
-
Настройка служб:
- Используйте утилиту
cygrunsrv
для регистрации службы SSH:cygrunsrv -install sshd -p "C:\Program Files\OpenSSH\bin\sshd.exe" -a "-D"
- После регистрации службы, запустите её с помощью команды:
cygrunsrv -start sshd
- Используйте утилиту
-
Настройка брандмауэра:
- Вы должны убедиться, что порт 22 (по умолчанию используемый для SSH) открыт в брандмауэре Windows. Для этого:
- Перейдите в «Панель управления» → «Брандмауэр Windows» → «Дополнительные параметры».
- Выберите «Правила для входящих подключений», нажмите «Создать правило».
- Выберите «Порт», затем задайте порт 22 и настройте его как «Разрешить подключение».
- Вы должны убедиться, что порт 22 (по умолчанию используемый для SSH) открыт в брандмауэре Windows. Для этого:
-
Аутентификация с помощью публичного ключа (опционально):
- Если вы хотите использовать аутентификацию с помощью публичного ключа, создайте пару ключей на удалённой машине (например, на Mac OS X):
ssh-keygen
- Скопируйте открытый ключ из файла
~/.ssh/id_rsa.pub
на вашу Windows машину в файлC:\Users\<ваш_пользователь>\.ssh\authorized_keys
. - Обратите внимание на права доступа к файлу
authorized_keys
. Они должны быть установлены так, чтобы доступ к нему имели только вы.
- Если вы хотите использовать аутентификацию с помощью публичного ключа, создайте пару ключей на удалённой машине (например, на Mac OS X):
Шаг 3: Тестирование подключения
Теперь, когда OpenSSH установлен и настроен, проверьте подключение с удалённой машины:
-
Подключение через SSH:
На удалённой машине выполните команду:ssh your_username@<IP_адрес_Вашей_Windows_машины>
Замените
your_username
на ваше имя пользователя на Windows, а<IP_адрес_Вашей_Windows_машины>
на локальный IP адрес вашей Windows 7 машины. -
Проверка журналов:
Если у вас возникли проблемы с подключением, проверьте журналы на Windows машине. Они могут находиться в вашем каталоге установки OpenSSH под именемsshd.log
.
Заключение
Настройка OpenSSH на Windows 7 требует нескольких шагов, включая установку, конфигурацию и открытие необходимых портов. Выполняя предоставленные шаги, вы сможете успешно настроить вашу систему для удалённого доступа через SSH. Важно помнить о безопасности и следовать лучшим практикам, таким как использование аутентификации по ключу и регулярное обновление программного обеспечения.