问题:
通过SSH拉去的github项目,每一次链接远程(pull,push)等都需要输入密码,这个让人很火大;
enter passphrase for key '~/.ssh/id_rsa' ......
处理:
1. 官网方案
方案1: 更改现有私钥的密码而无需重新生成密钥对
ssh-keygen -p -f ~/.ssh/id_ed25519
方案2:~/.profile
或 ~/.bashrc
文件中 添加脚本
启动gitbash , 执行 vi ~/.profile 写入以下脚本;
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2=agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
方案3:
如果您的私钥没有存储在默认位置之一(如 ~/.ssh/id_rsa
),您需要告知 SSH 身份验证代理其所在位置。 要将密钥添加到 ssh-agent,请输入 ssh-add ~/path/to/my_key
ssh-add -K ~/.ssh/id_rsa
方案4:
将本地ssh的公钥配置到对应的git项目中去;
结果:
我的问题是在方案3的到解决的;