Haf*_*man 10
在单台 PC 上为 github 和 bitbucket 添加 SSH 密钥的完整指南
如果您已经有一个 ssh 密钥,那么 .ssh 文件夹中必须有 2 个文件 public(id_rsa.pub) 和 Private key(id_rsa) 您可以跳过第2 步
步骤 1. 在执行步骤 2 和步骤 3 之前准备两个帐户所需的默认身份
确定您的 Git 克隆 URL。$ git 远程 -v
origin git@bitbucket.org:teamsinspace/bitbucketspacestation.git (fetch)
origin git@bitbucket.org:teamsinspace/bitbucketspacestation.git (push)
Run Code Online (Sandbox Code Playgroud)
将 git@bitbucket.org 替换为<username>@bitbucket.org. 对于此步骤和后续步骤,请输入您的用户名代替 。
$ git Remote set-url 原点<username>@bitbucket.org:teamsinspace/bitbucketspacestation.git
步骤 2:使用默认名称 (id_rsa) 创建第一个 ssh 密钥
$ssh-keygen
您将看到以下文本:
Generating public/private RSA key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):
Run Code Online (Sandbox Code Playgroud)
您可以输入密码来保护您的文件,也可以按 Enter 键完成所有步骤,然后它将创建一个 ssh 密钥。
默认情况下,系统将所有身份的密钥添加到/Users/<username>/.ssh目录中
您可以通过以下命令检查已经存在的 ssh 密钥
$ls ~/.ssh
id_rsa id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
应该有两个文件,第一个具有密钥名称 (id_rsa) 私钥,第二个具有相同的 (ir_rsa.pub) 公钥。
您可以在主目录中打开使其可见,ctrl + h 然后它将显示
其次,创建您已知的主机文件(如果您还没有)
要创建您已知的主机文件-
touch known_hosts
第 3 步:设置多帐户 ssh
3.1:使用默认名称创建第二个密钥
您可能正在使用一对 SSH 密钥来处理公司的内部项目,但现在您可能需要不同的密钥来访问客户端的服务器,以便您可以创建密钥
通过再次运行相同的命令,ssh-keygen它将创建第二个 ssh 密钥文件,其名称为 [ id_rsa2 and id_rsa2.pub ]
3.2:使用自定义名称创建第二个密钥
ssh-keygen -f NAME_OF_YOUR_KEY
$ssh-keygen -f work_key它将创建 2 个文件
[ work_key, work_key.pub ]
如果想一次运行一个键,那么您可以在连接到该存储库进行 pull 和 push 之前使用此命令。
ssh-add -K ~/.ssh/YOUR_KEY_FILE
Run Code Online (Sandbox Code Playgroud)
ssh-add -K ~/.ssh/work_key
第 4 步:同时设置两个帐户
您想同时设置两个帐户,则必须使用以下命令
第三创建您的配置文件要创建您的配置文件
touch config或直接在任何文本编辑器中打开,
以下是一个 Github 和一个 Bitbucket 帐户的示例
Host :您的 ssh 设置的名称,您可以指定自定义名称 HostName :github 域或 bitbucket 域 IdentityFile :您的 ssh 文件的路径
#Work account
Host pers
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
UserKnownHostsFile ~/.ssh/known_hosts
IdentitiesOnly yes
#Personal account
Host work
HostName bitbucket.org
User git
IdentityFile ~/.ssh/work_key
UserKnownHostsFile ~/.ssh/known_hosts
IdentitiesOnly yes
Run Code Online (Sandbox Code Playgroud)
第 5 步:将您的公钥添加到 Bitbucket 或
Bitbucket 的
github 帐户
对于 Github [转到您的帐户设置 -> SSH 和 GPG 密钥]

第 6 步:永久添加您的公众
ssh HOST(我们在配置文件中编写的内容)就像
ssh work
如果您遇到此错误,请确保您正确执行了步骤 4。
git@bitbucket.org: Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
或者也可以用这种方式
现在你可以使用
git clone `git@pers/project.git`
Run Code Online (Sandbox Code Playgroud)
git clone `git@work/project.git`
Run Code Online (Sandbox Code Playgroud)
第7步:自动选择我们请求的域名
一旦您需要使用第二个密钥,管理 SSH 密钥就会变得很麻烦。传统上,您将使用 ssh-add 将密钥存储到 ssh-agent,输入每个密钥的密码。问题是每次重新启动计算机时都需要执行此操作,这很快就会变得乏味。
如果您只有两个帐户,一个在 github 中,一个在 bitbucket 中,您可以使用以下方法自动按我们要求的域名进行选择
#Work account
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
UserKnownHostsFile ~/.ssh/known_hosts
IdentitiesOnly yes
#Personal account
Host bitbucket.org
HostName bitbucket.org
User git
IdentityFile ~/.ssh/work_key
UserKnownHostsFile ~/.ssh/known_hosts
IdentitiesOnly yes
Run Code Online (Sandbox Code Playgroud)
这是进一步指导的链接
https://www.freecodecamp.org/news/the-ultimate-guide-to-ssh-setting-up-ssh-keys/ https://support.atlassian.com/bitbucket-cloud/docs/set-up-附加 ssh 密钥/
是的。您通过每个存储库配置文件告诉git远程代码在哪里。如果愿意,您甚至可以从同一存储库推送到GitHub和Bitbucket。
详情请参阅这里:http : //blog.lckymn.com/2013/03/11/git-push-to-pull-from-both-github-and-bitbucket/
一个重要的方面是使用SSH分别连接到每个。
您的SSH密钥应该存在,$HOME/.ssh并且可以包含任意数量的密钥。SSH密钥的默认名称为id_rsa(或类似名称,具体取决于创建它的协议)。
尝试做:
ls $HOME/.ssh
Run Code Online (Sandbox Code Playgroud)
...看里面有什么。
我做的是您对自己的询问,对我来说,这会引起类似以下问题:
github-personal
github-personal.pub
bitbucket-work
bitbucket-work.pub
known_hosts
Run Code Online (Sandbox Code Playgroud)
其中known_hosts是包含我连接到服务器,并与他们相关的公共密钥列表的文件。结尾的其他文件.pub是我自己的公钥,其余文件是我的私钥。
您可以通过遵循相应的教程将GitHub和Bitbucket密钥插入其中:
| 归档时间: |
|
| 查看次数: |
2560 次 |
| 最近记录: |