У меня есть служба автоматического создания, которая загружается из частного репозитория git. Проблема в том, что когда он пытается клонировать репозиторий, ему нужно предоставить пароль, потому что он не запоминается; поэтому, поскольку здесь нет человеческого взаимодействия, он вечно ждет пароля. Как заставить его запомнить из id_rsa.pub?
125
eval $(ssh-agent)
Вместо этого я должен был написать .ssh-add ~/.ssh/myfile_rsa
copy > ~/.bashrc
в git bash, чтобы создать файл bashrc в Windows, игнорируйте ошибкуВ этом ответе объясняется, как обеспечить постоянное хранение имени пользователя и пароля GitHub, а не ключевой фразы SSH.
В Windows просто запустите
Это означает, что в следующий раз, когда вы нажмете, вы будете вводить свое имя пользователя и пароль как обычно, но они будут сохранены в учетных данных Windows. После этого вам не придется вводить их снова.
Например, нажмите на GitHub, не вводя каждый раз имя пользователя и пароль (Git Bash в Windows) .
источник
git
изменится свое поведение в соответствии с набором директив конфигурации.Я предпочитаю не вводить мою парольную фразу SSH при открытии новых терминалов; к сожалению , решение starmonkey требует, чтобы пароль вводился для каждой сессии. Вместо этого в моем
.bash_profile
файле есть:Это также запомнит мою парольную фразу для новых сеансов терминала; Мне нужно ввести его только один раз, когда я открываю свой первый терминал после загрузки.
Я хочу отдать должное, где я это взял; это модификация чужой работы, но я не могу вспомнить, откуда она взялась. Спасибо анонимному автору!
Обновление 2019-07-01: я не думаю, что все это необходимо. Теперь у меня это постоянно работает, гарантируя, что мой
.bash_profile
файл запускает ssh-agent:Затем я настроил такой
ssh
файл конфигурации:источник
Если я правильно понял вопрос, вы уже используете авторизованный ключ SSH в службе сборки, но не хотите вводить кодовую фразу для каждого клона?
Я могу придумать два способа сделать это:
Если ваша служба сборки запускается в интерактивном режиме: перед запуском службы сборки начните
ssh-agent
с достаточно долгого тайм-аута (-t
опция). Затем используйтеssh-add
(они должны быть в msysGit), чтобы добавить все необходимые закрытые ключи, прежде чем запускать службу сборки. Вам все равно придется вводить все парольные фразы, но только один раз за запуск службы.Если вы не хотите вообще вводить парольные фразы, вы всегда можете удалить парольные фразы из ключей SSH, как описано в /server/50775/how-do-i-change-my- private-key-passphrase , задав новую пустую парольную фразу. Это должно полностью избавить от запроса пароля, но это даже менее безопасно, чем предыдущий вариант.
источник
Когда я попытался отправить свой код, я получил следующую ошибку:
После нескольких часов исследований я обнаружил, что мне нужно использовать следующую команду:
После выполнения указанной выше команды я получил приглашение ввести имя пользователя и пароль GitHub. После предоставления правильных учетных данных я могу отправить свой код.
источник
Правильное решение:
Запустите терминал Windows по умолчанию - cmd и получите каталог вашего основного профиля
Запустите Git Bash в каталоге выше и создайте
.bashrc
файл с помощью командыОткройте
.bashrc
файл в своем любимом текстовом редакторе и вставьте в него код из справки GitHub :Перезапустите Git Bash, и он попросит вас ввести пароль (только в первый раз) и готово. Пароль снова не беспокоил.
источник
Вам необходимо создать
authorized_keys
файл в.ssh
папке пользователя, под которым вы собираетесь подключиться к серверу репозитория. Например, если вы используете имя пользователяbuildservice
наrepo.server
вы можете запустить:Затем вы должны проверить следующее:
Соответствующий
id_rsa
закрытый ключ представлен в форматеbuilservice@build.server:~/.shh/id_rsa
.Этот отпечаток repo.server хранится в
buildservice@build.server:~/.ssh/known_hosts
файле. Обычно это делается после первой попыткиssh
подключения кrepo.server
.источник
cat id_rsa.pub > .ssh/authorized_keys
перезапишет все существующие авторизованные ключи. Используйте>>
для добавления вместо перезаписи.