Клон Git всегда запрашивает токен личного доступа (частное репо)

Каждый раз, когда я пытаюсь клонировать частное репо, я получаю приглашение добавить свое имя пользователя и пароль.

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

Есть ли способ клонировать частный репозиторий git без токена? Или хотя бы иметь возможность добавить свой пароль вместо этого токена?


person Anevo    schedule 02.04.2019    source источник
comment
Не могли бы вы добавить информацию об исходном репозитории git, это на github? bitbucket, gitlab голый сервер git? он настроен с ключами ssh и/или LDAP?   -  person theraulpareja    schedule 02.04.2019


Ответы (3)


Вы можете использовать хранилище учетных данных git для хранения своего имени пользователя и паролей при доступе к репозиторию через https.
Выполнить

git config credential.helper store

а потом

git pull

Это запросит ваше имя пользователя и пароль, а затем запомнит их для будущего использования. Обратите внимание, что выполнение приведенных выше команд создаст файл по адресу ~/.git-credentials и сохранит учетные данные в виде обычного текста, что может представлять угрозу безопасности. Альтернативой является хранение учетных данных в памяти, а не на диске. Для этого вы можете запустить приведенную ниже команду.

git config credential.helper 'cache --timeout=3600'

Таким образом, git не будет хранить файлы на диске и будет использовать память для хранения учетных данных. аргумент timeout здесь используется, чтобы указать, что учетные данные должны кэшироваться в течение следующего 1 часа.

person Manvendra Singh    schedule 02.04.2019

Вы можете клонировать с помощью SSH и аутентифицировать с помощью своего ключа SSH. Существует хорошее руководство от GitHub о том, как настроить git с SSH, и это работает очень похоже для других провайдеров. После того, как вы настроите его, не забудьте клонировать репозиторий, используя URL-адрес SSH (не HTTPS), или изменить origin вашего клонированного репо на URL-адрес SSH.

person Jan Pokorný    schedule 02.04.2019

РЕШЕНИЕ

Вот как мне удалось заставить это работать.

Открыл новый терминал и добавил

ssh-keygen -t rsa -b 4096 -C "[github email address]"

В терминале появилось следующее

Generating public/private rsa key pair. [press Enter] Enter file in which to save the key (/home/${USER}/.ssh/id_rsa): Enter passphrase (empty for no passphrase): [press Enter] Enter same passphrase again: [press Enter]

затем

cd /.ssh ls [you should see 3 files] cat [file].pub

Скопируйте содержимое, затем перейдите в настройки своего профиля Github -> Ключи SSH и GPG -> Новый ключ SSH -> вставьте туда содержимое из [file].pub. После этого я могу клонировать репозиторий github с помощью SSH без необходимости добавлять токен.

person Anevo    schedule 02.04.2019