Я использую ssh на удаленном хосте (linux, fedora) и хочу выполнить там ssh-операцию (git with bitbucket). На этой машине работает ssh-agent,
$ ps -e|grep sh-agent
2203 ? 00:00:00 ssh-agent
но когда я хочу мерзнуть, мне нужно ввести пароль
$ git pull
Enter passphrase for key '/user/wgong/home/.ssh/id_rsa':
Примечание: если я работаю на этом компьютере локально, он не попросит меня ввести фразу-пароль
Ответы:
На мой взгляд, лучший способ использования SSH
Перед использованием Git добавьте ваш ключ в ssh-agent
Запустите ssh-agent, если он не запущен:
Добавьте свой закрытый ключ, используя ssh-add
Проверьте, добавлен ли ключ (параметр является строчной буквой L):
Попробуйте подключиться к вашему Git-серверу:
Теперь вы можете использовать Git без дополнительных парольных фраз.
Другие способы
https://unix.stackexchange.com/questions/90853/how-can-i-run-ssh-add-automatically-without-password-prompt
источник
.bashrc
?eval
это необходимо, потому что он выводит команды, которые экспортируют переменные среды, такие как SSH_AUTH_SOCK, которые необходимы. unix.stackexchange.com/questions/351725/…Если у вас уже
ssh-agent
запущен, вы можете добавить ключ, и вам нужно будет ввести пароль один раз, и только один раз для этого сеанса.Вы не говорите, какую операционную систему вы используете, но если это Linux и Gnome, то приложение «Пароли и ключи» (имя CLI:)
seahorse
может управлять ими, поэтому они разблокируются при входе в систему (пароль не требуется) , В других средах рабочего стола Linux есть свои менеджеры. Я не уверен, что другие ОС здесь делают.источник
Основная причина запроса пароля состоит в том, что ваш ключ зашифрован, сравните эти два:
не зашифрован
зашифрованы
Таким образом, вы должны сделать одно из следующего:
~/.ssh/config
и укажите другой файл идентификации (IdentityFile
).ssh-add -l
чтобы получить список всех ваших идентификационных данных (затем сравнить с локальными), и дважды проверить Stash, если вы используете правильные ключи (они существуют в конфигурации Stash).Если вы знаете ключевую фразу и хотите ее автоматизировать, попробуйте следующий обходной путь:
Поиск проблемы:
eval "$(ssh-agent -s)"
).GIT_TRACE=1 git pull
или с помощьюGIT_SSH_COMMAND="ssh -vv"
(Git 2.3.0+), чтобы снова отладить вашу команду.Вы можете попытаться обойти запрос пароля (на который он будет перенаправлен
true
), но я не думаю, что это поможет. Если это требует, есть причина для этого, и это в основном требуется.источник
ssh-add
Программа запускает агент , который может содержать (и обеспечивать) кодовую фразу. Способ использовать его удаленно - в родительской оболочке вашей интерактивной оболочки (чтобы агент не останавливался).Вот несколько связанных вопросов:
Теперь ... при удаленном подключении , как правило, ваша команда не входит в систему как таковая, поэтому она не запускается
ssh-add
. Вы можете обойти это, выполнив скрипт, которыйssh-agent
ssh-add
Слабым местом является второй шаг: вам все равно будет предложено ввести ключевую фразу, если только вы не ослабите свою безопасность, используя ключ без парольной фразы . Некоторые люди делают это, большинство людей советуют против.
источник
ssh-add
не запускается агент. Он подключается к уже работающему агенту.Вы можете легко удалить ключевую фразу вашего ключа, используя следующую команду
В первом приглашении введите путь к файлу (или нажмите Enter, чтобы изменить значение по умолчанию). Во втором приглашении введите старую фразу-пароль. Следующее приглашение, просто нажмите Enter, чтобы снять пароль.
Похоже, это самый простой способ!
источник
Вы все равно получите запрос пароля для расшифровки закрытого ключа, даже если он загружен
ssh-agent
до тех пор, пока соответствующий открытый ключ SSH не будет добавлен в удаленный~/.ssh/authorized_keys
.Воспроизвести:
Достаточно запутанно. Пароль удаленного входа SSH будет достаточно в этом случае.
Я могу предположить, что это предотвращает добавление вашего открытого ключа (который связан с зашифрованным закрытым ключом) без знания пароля шифрования для соответствующего закрытого ключа. В любом случае это однократная процедура удаленного входа.
источник