问题描述
git通过ssh认证推拉代码过程:
- 生成ssh公私钥: ssh-keygen -t rsa -C “yourEmailAddr”
- 将公钥添加到远端库ssh管理处
- git clone git@xxx.git
问题出现在第三步,拉取代码失败,需要手动输入密码
解决方法
eval `ssh-agent -s` #启动ssh-agent
ssh-add "私钥文件地址" # 添加私钥到agent 如:ssh-add "c:/Users/xxx/.ssh/id_rsa"
ssh-agent
是用于管理SSH private keys
的, 目的就是对解密的私钥进行高速缓存。ssh-add
提示并将用户的使用的私钥添加到由ssh-agent
维护的列表中;git
拉取代码的时候,直接使用这里的ssh私钥和远端库中的公钥做认证,不用手动再输入密码。- windows下打开
git bash
后,将上面两行命令加入到/etc/bash.bashrc
中可以解决每次打开git bash
都需要手动执行ssh-agent和ssh-add的不便