Настроить SSH-агент для git

Я не хочу вводить свой пароль ssh каждый раз, когда я делаю git push или git pull в / из удаленного репозитория, к которому у меня есть доступ через ssh (вход через имя пользователя и пароль).

ssh-agent
git config --global credential.helper 'cache --timeout=3600'

Не работает Мне все еще нужно вводить пароль каждый раз, когда я хочу нажать / вытащить.

Что еще мне нужно сделать, чтобы это работало?

Если я выполню

ssh-agent bash

и затем попробуйте дважды нажать на тот же терминал, мне все равно придется дважды вводить пароль.

2 ответа

Решение

О, я неправильно понял работу агента SSH. Я использую имя пользователя и пароль. Могу ли я хранить свой пароль только в оперативной памяти? Я не хочу, чтобы он просто валялся в моей домашней папке. - UTF-8

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

Если вы хотите, чтобы он мог передавать пароли, есть sshpass, который может читать пароли из переменных среды, но учтите, что это, конечно, не рекомендуется с точки зрения безопасности. Если вы заботитесь о безопасности, настройте аутентификацию с открытым ключом.

ssh-agent Необходимо предоставить переменные для вашей среды, поэтому правильный способ их использования:

eval $(ssh-agent)  

тогда вы можете использовать ssh-add добавить ключи к вашему агенту. Читать man ssh-agent;man ssh-add,

Например (YMMV):

w3@aardvark:~(0)$ env | grep SSH
SSH_AUTH_SOCK=/run/user/1003/keyring-ozv0oa/ssh
w3@aardvark:~(0)$ eval $(ssh-agent)
Agent pid 26624
w3@aardvark:~(0)$ env | grep SSH
SSH_AGENT_PID=26624
SSH_AUTH_SOCK=/tmp/ssh-FUVLa89gGIpt/agent.26623
w3@aardvark:~(0)$ ssh-add -l
The agent has no identities.
w3@aardvark:~(1)$ ssh-add
Enter passphrase for /home/w3/.ssh/id_rsa: 
Identity added: /home/w3/.ssh/id_rsa (/home/w3/.ssh/id_rsa)
w3@aardvark:~(0)$ env | grep SSH
SSH_AGENT_PID=26624
SSH_AUTH_SOCK=/tmp/ssh-FUVLa89gGIpt/agent.26623
w3@aardvark:~(0)$ ssh-add -l
2048 a7:56:f0:86:ab:d3:ec:56:3c:84:05:9e:61:38:a9:7b /home/w3/.ssh/id_rsa (RSA)
w3@aardvark:~(0)$
Другие вопросы по тегам