Назад | Перейти на главную страницу

TortoiseGit с использованием закрытого ключа (пользователь без полномочий root)

У меня есть сервер Debian с некоторыми репозиториями git. Я создал два ключа, используя

keygen -t rsa

Это дало мне файлы root.pub и user.pub. Root.pub был добавлен в /root/.ssh/authorized_keys, а user.pub - в /home/user/.ssh/authorized_keys.

Я преобразовал ключи в формат шпатлевки (ppk): root.ppk и user.ppk. Теперь я могу войти как root, так и как пользователь с этими ключами с помощью putty - все работает нормально!

Волшебство приходит, когда речь идет о TortoiseGit (последней версии). Я установил два пульта ДУ:

[remote "user"]
    fetch = ...
    url = ssh://user@server/path
    puttykeyfile = C:\\path\\user.ppk
[remote "root"]
    fetch = ...
    url = ssh://root@server/path
    puttykeyfile = C:\\path\\root.ppk

С root.ppk все работает нормально - я могу нажимать и тянуть в свои репозитории, не вводя пароль. Но user.ppk не работает - я получаю окно TortoisePLink с запросом пароля.

В /var/log/auth.log ничего нет. Я полностью застрял. Требуется ли TortoiseGit (или Windows) дополнительная настройка?

ОБНОВЛЕНИЕ: кажется, TortoiseGit где-то кеширует или хранит ключ. Если я добавлю root.pub в /home/user/.ssh/authorized_keys, я могу нажимать / тянуть с помощью обоих пультов независимо от того, какой ключ я укажу в настройках TortoiseGit. Убить TortoiseCache.exe, перезапустить конкурс, перезагрузить компьютер с Windows не имеет никакого эффекта.

Он определенно где-то хранит ключ. Для входа в ssh используется только root.ppk, независимо от того, что я настраиваю. Итак, вопрос "Где TortoiseGit хранит ключи ppk, кроме .git / config"?

Я проделал абсолютно то же самое на другой моей машине с Windows. Все нормально работает. Я заметил, что команда ssh-keygen была из дистрибутива MSysGit, когда на первой машине я попробовал Cygwin.

Вы действительно имели в виду это:

Root.pub был добавлен в /root/.ssh/authorized_keys, а user.pub - в / home / user / authorized_keys.

Потому что это показывает, что вы поместили user.pub не в тот файл - это могло быть

/home/user/.ssh/authorized_keys