大家好! 欢迎来踩踩我的个人网站 fzyt.fun
写在前面
本文根据
macOs
编写
当我们 github
和 gitee
都有账号、github
有多个账号的时分,就会出现 ssh key
装备问题,本文用以处理多个代码托管渠道和一个代码渠道多个账号的 ssh key
装备问题。
场景一:
大学的时分创建了自己的 github
账号,查找了各种材料来装备 ssh key
。
该场景下面的 根本装备 能够处理
场景二:
工作了渐渐的发现公司的会与自己 github
的 ssh key
冲突。
该场景下面的 ssh 装备不同域名 能够处理
场景三:
为了在 github
上面和他人一起开发代码,创建了第二个 github
账号,又产生了冲突。
该场景下面的 装备多个账号 ssh key 能够处理
根本装备
ssh 介绍
SSH
为 Secure Shell
的缩写,由 IETF
的网络小组(Network Working Group
)所制定;SSH
为建立在应用层基础上的安全协议。SSH
是较牢靠,专为长途登录会话和其他网络服务提供安全性的协议。
github ssh keys
github
利用 ssh
协议进行安全的提交代码,需要装备 ssh keys
。
装备流程
1.运用 ssh-keygen 在本地生成 ssh 公钥私钥
(base) ➜ .ssh ssh-keygen -t rsa -C "youer_email@example.com"
Generating public/private rsa key pair.
# 下面这步是让你输入你密钥保存方位和名
# 例如输入 /Users/fzyt/.ssh/github/id_rsa_github 回车(需要提前创建 /Users/fzyt/.ssh/github/ 文件夹)
Enter file in which to save the key (/Users/fzyt/.ssh/id_rsa):
# 下面这步是设置密钥文件的查看暗码,结合自己情况设置,不设置回车即可
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
# id_rsa_github 是私钥,id_rsa_github.pub 公钥
(base) ➜ github ls
id_rsa_github id_rsa_github.pub
2.装备 ssh config
- 在
/Users/fzyt/.ssh
新建config
文件 - 装备
github
相关信息
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github/id_rsa_github
# 装备文件参数
# Host : 别号,Host 能够看作是一个你要识别的形式,对识别的形式,进行装备对应的的主机名和ssh文件
# Port : 端口 (22(default))
# HostName : 要登录主机的主机名
# User : 登录名
# PreferredAuthentications : 强制运用 Public Key 验证 (no(default)/yes)
# IdentitiesOnly : 只承受SSH key 登录
# IdentityFile : 指明上面User对应的 identityFile 路径 (就是私钥)
装备好了能够运用如下指令测验
(base) ➜ .ssh ssh -T git@github.com
Hi youer_name! You've successfully authenticated, but GitHub does not provide shell access.
3.将生成的公钥增加到 github settings 上
- 运用
cat
指令将公钥复制下来
(base) ➜ github cat id_rsa_github.pub
ssh-rsa ...
...
...= youer_email@example.com
- 翻开
github
点击头像选择Settings
- 点击左侧菜单中的
SSH and GPS keys
- 点击 New SSH key 将公钥复制到
Key
中,Title 起个姓名 - 点击 Add SSH key
4.clone 代码
接下来 clone
代码即可
git clone git@github.com/test.git
ssh 装备不同域名
- 完结根本装备,如已装备
github ssh key
- 生成
gitee ssh key
,即在/Users/fzyt/.ssh/gitee/
下有有用的公钥私钥 - 在
/Users/fzyt/.ssh/config
中增加以下装备
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee/id_rsa_gitee
- 运用指令测验
(base) ➜ .ssh ssh -T git@gitee.com
Hi youer_name! You've successfully authenticated, but GITEE.COM does not provide shell access.
装备多个账号 ssh key
- 完结根本装备,如已装备一个工作账号的
github ssh key
- 生成私有的
github ssh key
,即在/Users/fzyt/.ssh/gitee/
下有有用的公钥私钥 - 在
/Users/fzyt/.ssh/config
中增加以下装备
# github work
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github/id_rsa_github_work
# github me
Host me.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github/id_rsa_github_me
- 运用指令测验
(base) ➜ .ssh ssh -T git@github.com
Hi youer_name! You've successfully authenticated, but GitHub does not provide shell access.
(base) ➜ .ssh ssh -T git@me.github.com
Hi youer_name! You've successfully authenticated, but GitHub does not provide shell access.
-
clone
代码
git clone git@github.com/test.git
git clone git@me.github.com/test.git
能够将
me
改成别的以到达装备多个账号ssh key
的目的