git解决方案
git添加SSH公秘钥
检查现有SSH秘钥
目录一般在个人目录下隐藏的.ssh文件下 目录下.pub是公钥, 同名没后缀的为私钥
shell
cd ~/.ssh
生成新的SSH秘钥
系统会提示你保存地址跟输入安全码 嫌麻烦全部回车即可
shell
ssh-keygen -t ed25519 -C "你github的电子邮箱"
将 SSH 密钥添加到 ssh-agent
- 手动启动 ssh-agent
# start the ssh-agent in the background
$ eval "$(ssh-agent -s)"
> Agent pid 59566
- 将私钥添加到ssh-agent
ssh-add ~/.ssh/你的私钥名称
将公钥添加到github上
公钥是.ssh文件夹下的.pub文件内容
setting >> SSH and GPG keys >> 添加SSH
在 Git for Windows 上自动启动 ssh-agent
您可以在打开 bash 或 Git shell 时自动运行 ssh-agent。 复制以下行并将其粘贴到 Git shell 中的 ~/.profile 或 ~/.bashrc 文件中:
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
gitTortoise
puttygen、pageant都可以在gitTortose目录中找到或者通过开始菜单搜索
由于tortoisegit使用的是putty的.ppk格式的密钥,而gitlab必须使用rsa密钥,因此使用其自带的工具puttygen来生成密钥 所以github上需要保存两份公钥, 一份给git bash用, 一份给gitTortoise用
打开puttygen生成秘钥
github保存公钥: setting >> SSH and GPG keys >> 添加SSH
点击generate,此时会开始生成密钥,时间比较长
- 公钥保存到github上
- 点击 sava private key,保存.ppk格式的私钥放在.ssh文件下
- 点击 sava public key,保存公钥放在.ssh文件下(注意不要覆盖之前的,另取名),这里是为了方便追溯,不做也可以
打开pageant注册
点击add key, 选择刚才保存的xx.ppk, 添加成功。
gitTortoise配置
- 配置putty秘钥
- 配置ssh执行文件
- 配置全局(一般来说不需要)
现在就可以用gitTortiose去处理github了
tip
- 主要就是gitTortiose只能用ppk文件做私钥,所以得再上传一份公钥