Open LiangRongfu opened 2 years ago
有时,您需要多个帐户才能访问 Github 或 Gitlab 以及类似工具。例如,您可以在家里为您的项目拥有一个帐户,为您的公司拥有第二个帐户。
案例 1:Github 上的多个帐户 创建不同名称的 SSH 密钥
$ ssh-keygen -t rsa -C "your_name@home_email.com"
当你看到这条消息
Generating public/private rsa key pair. Enter file in which to save the key (/home/user_name/.ssh/id_rsa):
输入唯一名称,例如:
id_rsa_home
接下来,系统会要求您输入密码。
因此,您已经为您的家庭帐户创建了 SSH 密钥,现在您可以为您的公司帐户生成 SSH 密钥。
使用第二封邮件再次调用 SSH 密钥生成器。
$ ssh-keygen -t rsa -C "your_name@company_email.com"
输入文件名
id_rsa_company
完成所有步骤后,您可以检查是否已创建所有密钥。
$ ls ~/.ssh
您应该会看到类似的文件列表:
id_rsa_home id_rsa_company id_rsa_home.pub id_rsa_company.pub
现在您需要一个配置文件来组织这些键。
$ cd ~/.ssh/ $ touch config $ nano config
添加到配置文件中:
# Home account Host home.github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_home # Company account Host company.github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_company
接下来,您将删除缓存的键
$ ssh-add -D
如果您看到一条消息
Could not open a connection to your authentication agent.
然后输入:
eval `ssh-agent -s`
并重试上一个命令。
接下来,您可以检查您的密钥是否已添加:
$ ssh-add -l 2048 d4:e0:39:e1:bf:6f:e3:26:14:6b:26:73:4e:b4:53:83 /home/user/.ssh/id_rsa_home (RSA) 2048 7a:32:06:3f:3d:6c:f4:a1:d4:65:13:64:a4:ed:1d:63 /home/mateusz/.ssh/id_rsa_company (RSA)
如果您没有任何条目,那么您应该添加您的密钥
ssh-add ~/.ssh/id_rsa_company ssh-add ~/.ssh/id_rsa_home
现在您可以检查连接(需要提前在平台上配置好公钥)
$ ssh -T git@home.github.com Hi home_user! You've successfully authenticated, but GitHub does not provide shell access.
$ ssh -T git@work.github.com Hi company_user! You've successfully authenticated, but GitHub does not provide shell access.
笔记!检查此提示的最后一段。
案例 2:Github 和 Gitlab 上的账号 这与之前的情况非常相似。我不会一步一步地描述它,因为所有的步骤都是一样的。我将只添加示例配置文件。
例如,您在 gitlab 上拥有自己的家庭作业帐户和公司帐户。
# GITLAB Host gitlab.company_url.com HostName gitlab.company_url.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_company # GITHUB Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_home
测试连接
$ ssh -T git@gitlab.company_url.com Welcome to GitLab, CompanyUser!
$ ssh -T git@github.com Hi home_user! You've successfully authenticated, but GitHub does not provide shell access.
您可能已经看到,不需要主机名前缀。
您可能需要为任何项目设置 git config 用户详细信息。 需要区分您的帐户。
$ cd ~/home_project $ git config user.name "home_user" $ git config user.email "your_name@home_email.com"
有时,您需要多个帐户才能访问 Github 或 Gitlab 以及类似工具。例如,您可以在家里为您的项目拥有一个帐户,为您的公司拥有第二个帐户。
案例 1:Github 上的多个帐户 创建不同名称的 SSH 密钥
当你看到这条消息
输入唯一名称,例如:
接下来,系统会要求您输入密码。
因此,您已经为您的家庭帐户创建了 SSH 密钥,现在您可以为您的公司帐户生成 SSH 密钥。
使用第二封邮件再次调用 SSH 密钥生成器。
输入文件名
完成所有步骤后,您可以检查是否已创建所有密钥。
您应该会看到类似的文件列表:
现在您需要一个配置文件来组织这些键。
添加到配置文件中:
接下来,您将删除缓存的键
如果您看到一条消息
然后输入:
并重试上一个命令。
接下来,您可以检查您的密钥是否已添加:
如果您没有任何条目,那么您应该添加您的密钥
现在您可以检查连接(需要提前在平台上配置好公钥)
笔记!检查此提示的最后一段。
案例 2:Github 和 Gitlab 上的账号 这与之前的情况非常相似。我不会一步一步地描述它,因为所有的步骤都是一样的。我将只添加示例配置文件。
例如,您在 gitlab 上拥有自己的家庭作业帐户和公司帐户。
测试连接
您可能已经看到,不需要主机名前缀。
您可能需要为任何项目设置 git config 用户详细信息。 需要区分您的帐户。