给Mac重装了系统, 之前的所有设置都没了.在安装了sourcetree之后在公司的gitlab上添加好创建的ssh key的公钥. 但是在拉取和推送的时候总是报Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).这样的错误!
image.png
而且在.ssh目录下执行完ssh-add ~/.ssh/id_rsa或者ssh-add -K ~/.ssh/id_rsa之后, 每次重启都要重新执行一下这样的命令才行, 这显然是无法忍受的.
看了在网上看了很多文章都无法解决
后来在这里找到了解决办法:https://www.shintaku.cc/posts/ssh-add/
现摘录如下:
自从macOS升级到Sierra 10.12以后ssh-agent不会自动加载密码短语了,每次重启后ssh登机器时总是提示输入密钥的密码短语,所以每次开机都要用ssh-add -K ~/.ssh/id_rsa将它手动添加到钥匙串中才行。
后来在GitHub找到了解决方案,其实就是简单配置了一下~/.ssh/config:
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/github_rsa
用IdentityFile指定要自动添加的密钥即可。
现在终于可以愉快的coding了!
补充:
假如你拿到的是一台全新的机器, 那么你要按照下面的操作步骤进行:
- 生成sshkey
- 执行
ssh-add ~/.ssh/id_rsa将sshkey添加到sourceTree - 执行
ssh-add -K ~/.ssh/id_rsa将sshkey添加到钥匙串 -
cd到.ssh目录下, 用touch config命令创建config文件 - 执行
open config, 打开config文件. - 输入上面的配置内容, 保存·
config文件
以后每次启动电脑source tree都会自动加载sshkey.










网友评论