Чтобы получить доступ или работать с удаленным репозиторием Git, вы можете использовать SSH или HTTP (S) протоколы; с первым, когда дело доходит до частных репозиториев, вы можете просто настроить ключи SSH без парольной фразы что позволяет вам безопасно передавать данные без ввода имени пользователя и пароля.
Однако с HTTP (S), при каждом подключении вам будет предложено ввести свое имя пользователя и пароль (когда Git требует аутентификации для определенного контекста URL) - пользователи Github это хорошо знают.
В этой статье мы покажем вам, как исправить Git, который всегда запрашивает учетные данные пользователя для доступа через HTTP (S). Мы объясним различные способы предотвращения повторного запроса Git имени пользователя и пароля при взаимодействии с удаленным репозиторием через HTTP (S).
Если у вас нет Git пакет, установленный в вашей системе, запустите соответствующую команду для вашего дистрибутива Linux, чтобы установить его (используйте Судо команду где необходимо).
$ sudo apt install git [В Debian / Ubuntu] # yum install git [В CentOS / RHEL / Fedora] $ sudo zypper install git [в OpenSuse] $ sudo pacman -S git [в Arch Linux]
Как мы уже упоминали ранее, при клонировании удаленного Git хранилище над HTTP (S), каждое соединение требует имя пользователя и пароль как показано.
Предотвращать Git от того, чтобы просить твоего имя пользователя и пароль, вы можете ввести учетные данные для входа в URL-адрес, как показано.
$ sudo git clone https://username:[электронная почта защищена]/username/repo_name.git. ИЛИ. $ sudo git clone https://username:[электронная почта защищена]/username/repo_name.git local_folder.
Главный недостаток этого метода в том, что ваш имя пользователя и пароль будет сохранено в команде в Файл истории оболочки.
а также в .git / config файл в локальной папке, что представляет угрозу безопасности.
$ cat .git / config.
Примечание: Для пользователей Github, которые включили двухфакторную аутентификацию или получают доступ к организации, которая использует SAML единый вход, вы должны сгенерировать и использовать личный токен доступа вместо ввода пароля для HTTPS Git (как показано в примерах выходных данных в этом руководстве). Чтобы сгенерировать токен личного доступа, в Github, перейти к Настройки=>Настройки разработчика=>Личное токены доступа.
Второй метод - использовать помощник по учетным данным Git для сохранения вашего имени пользователя и пароля в простом файле на диске, как показано.
$ git config credential.helper store ИЛИ. $ git config --global credential.helper store
Впредь, Git запишет учетные данные в ~ / .git-учетные данные файл для каждого контекста URL при первом доступе. Чтобы просмотреть содержимое этого файла, вы можете использовать команда кота как показано.
$ cat ~ / .git-credentials.
Для последующих команд для того же контекста URL Git будет читать ваши учетные данные пользователя из указанного выше файла.
Как и в предыдущем методе, этот способ передачи учетных данных пользователя в Git также небезопасен, поскольку файл хранилища не зашифрован и защищен только стандартными разрешениями файловой системы.
Третий метод, описанный ниже, считается более безопасным.
И последнее, но не менее важное: вы также можете использовать Git помощник по учетным данным для временного сохранения учетных данных в памяти на некоторое время. Для этого введите следующую команду.
$ git config credential.helper кеш. ИЛИ. $ git config --global credential.helper cache.
После выполнения указанной выше команды, когда вы впервые попытаетесь получить доступ к удаленному частному репозиторию, Git запросит ваше имя пользователя и пароль и сохранит их в памяти на некоторое время.
Время кеширования по умолчанию: 900 секунды (или 15 минут), после чего Git предложит вам снова ввести имя пользователя и пароль. Вы можете изменить его следующим образом (1800 секунд = 30 минут или 3600 секунд = 1 час).
$ git config --global credential.helper 'cache --timeout = 18000' ИЛИ. $ git config --global credential.helper 'cache --timeout = 36000'
Для получения дополнительной информации о Git и помощники по учетным данным, см. их справочные страницы.
$ человек мерзавец. $ man git-credential-cache. $ man git-credential-store.
Было ли это руководство полезным? Сообщите нам через форму обратной связи ниже. Вы также можете поделиться любыми вопросами или мыслями по этой теме.