7

Я безнадежно запутался. Я пытаюсь запретить tortoisegit запрашивать пароль каждый раз, когда я нажимаю / нажимаю (я не против один раз при каждом входе в Windows, но после этого я хочу, чтобы он был автоматическим).

Мой git-сервер работает на моем Synology NAS через официальный пакет Git Server. Я клонирую через ssh://user @ server/foo/bar.

Вот что я сделал / попробовал:

  • Я создал пару открытых и закрытых ключей через Puttygen.
  • запустил Putty Authentication Agent (pageant) и добавил к нему свой закрытый ключ.
  • создал authorized_keys файл на сервере в /root/.ssh/. Я попытался использовать только часть кода открытого ключа в кодировке Base64, а также с заголовком ---- BEGIN SSH2 PUBLIC KEY ---- и соответствующим нижним колонтитулом.
  • установите tortoisegit для использования TortoiseGitPLink.exe в качестве SSH-клиента (по умолчанию, я считаю). Я также пробовал pageant.exe, но это приводит к ошибке: «Не удалось загрузить этот ключ (невозможно открыть файл)»

Мне все еще предлагается ввести пароль, и Агент-замазка, похоже, никак не участвует в процессе (без ключей даже после аутентификации). Любые советы будут высоко ценится.

3 ответа3

4

Убедитесь, что вы выполнили тяжелые указания на клавишах ssh

Windows Git И TortoiseGit требуют 2 переменных среды, установленных в Windows.

GIT_SSH = C:\Program Files\TortoiseGIT\bin\TortoiseGitPlink.exe

SVN_SSH = C:\Program Files\TortoiseGIT\bin\TortoiseGitPlink.exe

(замените ваши пути, если разные)

Вы также должны убедиться, что PLINK_PROTOCOL не переопределяется. В противном случае PLINK_PROTOCOL = ssh

После внесения этих изменений проверьте доступ с помощью следующего:

Откройте окно командной строки DOS и введите команду plink git @ имя вашего сервера Git Depot

Если возвращается список репозиториев Git, вы общаетесь с Git.

Если возвращается ошибка, вам может понадобиться отредактировать файлы Windows .ssh/config и / или etc / hosts

2

Вы не хотите использовать открытый ключ, который сохраняется с помощью кнопки "Сохранить открытый ключ". Изнутри PuTTY Key Generator UI вы должны скопировать текст в верхнем окне в файл authorized_keys

Генератор ключей PuTTY

Он должен быть скопирован именно так и должно в конечном итоге одна строка в файле authorized_keys

Кроме того, вы используете ssh://root@server/foo/bar для клонирования своего репо? Если нет, вам нужно убедиться, что вы добавляете свой открытый ключ в файл authorized_keys для правильного пользователя.

0

Добавление ключа ssh в формате OpenSSH, сгенерированного из Putty, в вашу учетную запись linux и тестирование, чтобы увидеть, можете ли вы войти в Github или другой сервер linux

  1. Скопируйте id_rsa и id_rsa.pub в папку ~/.ssh . Измените разрешения для файла id_rsa на 400/600 используя chmod 600 ~/.ssh/id_rsa https://stackoverflow.com/a/9270753/4752883

  2. Проверьте, работает ли ssh-agent с помощью eval $(ssh-agent -s) and start/restart ssh-agent` ( https://stackoverflow.com/a/17848593/4752883 )

  3. Добавить ssh закрытый ключ для ssh-agent ssh-add ~/id_rsa ( https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh- agent/# добавление вашего ssh-key-to-the-ssh-agent )

  4. Убедитесь, что открытый ключ прикреплен к вашей учетной записи ( https://help.github.com/articles/error-permission-denied-publickey/ ): ssh-add -l -E md5 . Вывод должен быть примерно 2048 MD5:de:5d… /home/username/.ssh/id_rsa (RSA)

  5. Убедитесь, что вы можете использовать ssh для входа на github или другой сервер ( https://help.github.com/articles/testing-your-ssh-connection/ ): ssh -T git@github.com . Вывод должен прочитать Hi username! You've successfully authenticated, but GitHub does not provide shell access.

  6. Если он показывает ошибку, такую как key_load_public: invalid format , это означает, что вы используете формат открытого ключа Puttygen . Чтобы перейти на версию открытого ключа OpenSSH выполните следующие действия: ( https://stackoverflow.com/a/44391850/4752883 )

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .