生成ssh公私钥
- 输入命令:
ssh-keygen -t rsa -C "xxx@xxxx.com"
ssh-keygen -t rsa -C "xxx@xxxx.com"
其中的xxx@xxxx.com
为自己需要设置SSH Key的账户
按下回车键(Enter)出现
Enter file in which to save the key (/home/moonbomb/.ssh/id_rsa):
输入想要设置的私钥文件名字,如果不设置默认为id_rsa
,(/home/moonbomb/.ssh/id_rsa)
这段为私钥存放的位置设置好私钥名字后再次按下回车键(Enter)出现
Enter passphrase (empty for no passphrase):
这里是提示设置密码,此处密码可以为任意值,可以和账号登录密码不同,可以为空
4.设置好密码后再次按下回车键(Enter)出现Enter same passphrase again:
这里是提示第二次设置密码,此处密码要和上一次设置的密码保持一致
5.设置好密码后再次按下回车键(Enter)出现:
Your identification has been saved in id_rsa_xxx.
Your public key has been saved in id_rsa_xxx.pub.
The key fingerprint is:
SHA256:1ga4ALoPEN8tH/V/rI3uA79KsJFq1jY+BBKfmkk6/lE xxx@xxxx.com
The key's randomart image is:
+---[RSA 3072]----+
|. . . |
| + o.. o . |
|o . +o+.. . |
|.. o++o + . . |
|o o =E.S o . o |
| oo +. +.=. = |
| .... +.= .oo . |
| . + o.o .o |
| .. ...o+o |
+----[SHA256]-----+
就说明私钥key设置完了
or输入以下命令,设置密码后也会生成秘钥
ssh-keygen -t rsa -C "xxx@xxxx.com" -f github_rsa
-f github_rsa 会强制使用这个名称生成公私钥,没有就默认生成 id_rsa 和id_rsa.pub
查看 id_rsa_xxx.pub公钥
cat ~/.ssh/id_rsa_xxx.pub
或者 cd
进入.ssh
文件夹后输入
cat id_rsa_xxx.pub
按下回车键(Enter)就可以看到公钥内容了:
gitlab /githab/gitee 设置方式和上边一致,注意要区分 秘钥 名字
多帐号管理
-
.ssh
目录下新建config
文件- ubuntu系统创建命令:
sudo touch config sudo vim config
- 打开
config
文件,添加:
#xxxxx Host github.com HostName github.com User xxx@xxx.com IdentityFile /home/moonbomb/.ssh/id_rsa_xxx #Secoo 代码仓库 Host gitlab.xxx.com HostName gitlab.xxx.com User xxx@xx.com IdentityFile /home/moonbomb/.ssh/id_xxx_gitlab_rsa #yyyyy #Host git.oschina.net-yyyyy #别名,随便定 后面配置地址有用 # HostName git.oschina.net #要连接的服务器 # User yyyyy 私钥的用户名 # IdentityFile /home/user/.ssh/id_rsa_yyyyy #这里不同,密钥文件的地址,注意是私钥
- 使用
ssh
的ssh-add
命令将密钥添加到ssh-agent
的高速缓存中,这样在当前会话中就不需要再次输入密码了 。
ssh-agent bash
//A账户的私钥
ssh-add ~/.ssh/id_rsa
//B账户的私钥
ssh-add ~/.ssh/id_rsa_xxx
添加完后,可以使用ssh-add
来查看密钥列表
- 注意: 记得把ssh key 的公钥配置到 对应的
gitlab /githab/gitee
中的 sshKey中
-
gitlab 设置
2.github 设置
3.码云设置
- 验证配置的 ssh key
ssh -T git@github.com
Hi 用户名! You've successfully authenticated, but GitHub does not provide shell access.
# 上面是github的成功返回语句,下面是gitlab的成功返回语句。
ssh -T git@xxxxxx.com
Welcome to GitLab, 这里是用户名!