S SH не использует ключ publi c для аутентификации (Windows) - PullRequest
1 голос
/ 20 июня 2020

У меня есть VPS (Windows Server 2016) и на нем запущен сервер S SH с OpenS SH для windows. Я бы запустил сервер git на этом VPS, поэтому я поискал несколько руководств в Google и нашел это . Руководство по настройке параметров на стороне сервера в порядке, и я создал пустой репозиторий git. Я бы подключился к серверу git со своим компьютером, используя ключ S SH publi c, но он хочет от меня пароль! Я попытался сохранить сгенерированный ключ publi c из моего собственного P C (без кодовой фразы) в файле /.ssh/authorized_keys на сервере, но это не сработало. Когда я использую эту команду git clone user@IP_ADDRESS:<repo dir> для клонирования существующего репозитория с сервера, она постоянно говорит мне, что я должен ввести пароль:

Cloning into 'central'...
user@IP_ADDRESS's password:

Я пытался пропустить запрос пароля, просто нажав клавишу ввода, также попытался root для пароля, но это все равно не помогло. Хотя я использовал ssh -Tv git@IP_ADDRESS, чтобы шаг за шагом увидеть, что происходит, я понял, что проверка подлинности publickey пропускается и процесс выполняется для метода password auth.

Ответы [ 2 ]

1 голос
/ 20 июня 2020

git@IP_ADDRESS означает, что вы подключаетесь к пользователю «git», а не к «root», существует ли он на сервере? ~ / .Ssh / authorized_keys необходимо добавить в домашний каталог пользователя.

/home/git/.ssh/authorized_keys

или в вашем случае (отредактировано, я думал в Linux :)):

C:\Users\git\.ssh\authorized_keys

Надеюсь, поможет

0 голосов
/ 23 июня 2020

На самом деле проблема заключалась в привилегиях текущей группы пользователей на сервере. В моем случае у этого пользователя есть права администратора, поэтому S SH будет искать в %PROGRAMDATA%/ssh/administrator_authorized_keys ключи publi c. Для обычных учетных записей пользователей в Windows, S SH автоматически будет go для /users/{username}/.ssh/authorized_keys файла, в который я копировал свой publi c S SH ключ на своей машине. Итак, я переместил свой ключ publi c в файл administrator_authorized_keys, и теперь все работает нормально. Спасибо @ EdKenbers за ответ.

...