У меня возникают проблемы с настройкой OpenSSH для Windows с использованием аутентификации с открытым ключом.
У меня это работает на моем локальном рабочем столе, и я могу использовать ssh с ключом с машин Unix или других машин OpenSSH для Windows.
Я реплицировал сборку на сервер, я могу нормально работать с аутентификацией по паролю, но когда я использую ключи, возникает следующая проблема:
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug3: start over, passed a different list publickey,password,keyboard-interactive
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /cygdrive/c/sshusers/jsadmint2232/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
Connection closed by 127.0.0.1
Итак, в целях тестирования я просто пытался подключиться к локальному хосту по SSH, но даже при удаленной попытке у меня возникла та же проблема.
Еще более странно то, что когда в sshd_config
включены и пароль, и открытый ключ, он будет пытаться использовать только ключи, а затем выйдет из строя вышеприведенным сообщением и даже не будет пытаться использовать пароль.
Вот шаги, которые я предпринял:
- Установите OpenSSH для Windows
mkgroup -l >>..\etc\group
(добавлены локальные группы)mkgroup -d >>..\etc\group
(добавлены доменные группы)mkpasswd -L -u openssh >>..\passwd
(добавлен мой локальный пользователь)mkpasswd -D -u jsadmint2232 >>..\passwd
(добавлен пользователь моего домена)- Отредактировал домашний адрес в файле passwd, чтобы он указывал на c: \ sshusers% USER%, где% USER% - имя пользователя.
- Включена аутентификация по паролю, отключена аутентификация по ключу
- Создал ключи SSH для jsadmint2232 / OpenSSH и обеспечил создание файлов в домашних каталогах.
- Добавлены файлы authorized_keys в каталоги .ssh для каждого пользователя и добавлены ключи для входящих подключающихся пользователей
net stop opensshd
/net start opensshd
- Проверьте, работает ли аутентификация по паролю как локально, так и удаленно
- Обновлен sshd_config, чтобы включить аутентификацию ключа - перезапустите opensshd
- Проверить соединение и получить ошибку выше. Кроме того, он даже не пытается выполнить аутентификацию по паролю.
- Обновлен sshd_config, чтобы полностью отключить аутентификацию по паролю - перезапустите opensshd
- Проверить соединение и по-прежнему получать ошибку выше
Похоже, что сервер по какой-то причине убивает соединение.