1. 环境:
ubuntu 20.0.4, 用户 ubuntu (这里主要是表示使用的非 root 用户)
2. 安装git 和 配置 global config
略, 此处参考其他博客吧, 基本没问题
3. 生成&添加 ssh 命令
$ ssh-keygen -t rsa -C "你的邮箱地址"
ubuntu@node-5-pve-2:~/workspace$ ssh-keygen -t rsa -C "suihsxx@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa):
/home/ubuntu/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ubuntu/.ssh/id_rsa
Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:略略略略略略略略略略略略略略略略略略 suihsxx@163.com
The key's randomart image is:
+---[RSA 3072]----+
| .=+=+*=+o=o |
|o..*oO =oo... |
|.+o.. @.= . |
|*o o . X . |
|+.. . o S E . |
| . . . . . |
| o . |
| . |
| |
+----[SHA256]-----+
$ ssh-agent bash
$ ssh-add ~/.ssh/id_rsa
4. 配置 coding.net 的 ssh
$ vim ~/.ssh/id_rsa.pub
使用上述命令, 并复制其中所有内容, 前往 coding.net ssh公钥 添加 粘贴 有效期 ...
坑点1
conding.net 是分团队的, 主要区分你的代码仓库在哪个团队, 然后切换到相关团队后, 再点个人设置下的 ssh公钥
这里如果设置错误, 当完成所有配置后, 会出现 Permission denied. 没有权限操作此仓库。
5. 测试是否可连通 coding.net
$ ssh -T git@e.coding.net
ubuntu@node-5-pve-2:~$ ssh -T git@e.coding.net
CODING 提示: Hello **, You've connected to coding.net via SSH. This is a Personal Key.
**,你好,你已经通过 SSH 协议认证 coding.net 服务,这是一个个人公钥.
公钥指纹:略略略略略略略略略略略略略略略略略略略略略略略略
坑点2
很多博客上面的命令地址是 git@git.coding.net, 这应该是 coding.net 不知道多久以前使用的, 用新的地址就好
6. 去clone吧
注意地址前面的选择框, 不要用 HTTPS, 选 SSH
如果用HTTPS地址, 会要求输入用户名密码, 不会走SSH认证
$ sudo clone git@e.coding.net:****/*****/****.git
坑点3
You've connected to coding.net via SSH. This is a Personal Key. Permission denied (publickey).
报错了? 明明配置好了ssh?
解决问题:
$ sudo vim /etc/ssh/ssh_config
找一下 IdentityFile, 有就在后面改, 没有就添加
IdentityFile /home/ubuntu/.ssh/id_rsa
注意这里不要用 '~/.ssh/id_rsa' , 直接填写全路径, 因为使用'sudo'后, '~'目录会变成 '/root'