关于利用SSH Key 克隆项目遇到的问题

接手新项目需要把项目克隆下来,大部分都用的是http克隆的,一时突发奇想用ssh key克隆。毕竟好久没用了。

一:生成ssh key

我是用的ed25519,可以自行选择rsa,都行

ssh-keygen -t ed25519 -C "[email protected]"

or

ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
image.png

二:添加 SSH key到你的GitLab account

1:使用下面的命令之一将您的公共SSH密钥复制到剪贴板

macOS:
pbcopy < ~/.ssh/id_ed25519.pub
WSL / GNU/Linux (requires the xclip package):
xclip -sel clip < ~/.ssh/id_ed25519.pub
Git Bash on Windows:
cat ~/.ssh/id_ed25519.pub | clip

2:最后将ssh key添加到你的账号里


image.png

三:克隆项目,发现报错如下:

[email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

四:解决问题:

打开ssh config 里面看了看里面的内容,才发现,没有创建的ssh key对应的host配置。想起在创建ssh key过程中并没有把对应的host写进到config的操作,定位到问题所在,立马把host配进去。
1:打开config文件
2:添加配置

# --- Sourcetree Generated ---
Host   xxxx-----自定义名字
    HostName [email protected]
    User xxx-----gitlab的账号名
    PreferredAuthentications publickey
    IdentityFile /Users/yangjing/.ssh/id_ed25519
    UseKeychain yes
    AddKeysToAgent yes
# ----------------------------

五:完美解决问题

git clone ssh://[email protected]/H/xxx-xxx-xxx.git

如果写的不对的地方,还望各位简友 多多指出〜谢谢大家!

你可能感兴趣的:(关于利用SSH Key 克隆项目遇到的问题)