使用多个id_rsa文件(SSH-KEYGEN)推送github
我使用以下命令在我的MAC上生成SSH密钥使用多个id_rsa文件(SSH-KEYGEN)推送github,github,git-push,private-key,git-clone,ssh-keygen,Github,Git Push,Private Key,Git Clone,Ssh Keygen,我使用以下命令在我的MAC上生成SSH密钥 ssh-keygen -t rsa -b 4096 -C "<myemail to github>" ssh-keygen-t rsa-b4096-C“” 我想为我的两个GitHub帐户创建两个SSH密钥,然后分别使用它们推送到各个GitHub帐户。但当我默认创建SSH-keygen文件时,id\u rsa文件用于登录,这只允许一个git帐户连接 请帮助我在将代码推送到GitHub存储库时如何提供正确的SSH密钥文件
ssh-keygen -t rsa -b 4096 -C "<myemail to github>"
ssh-keygen-t rsa-b4096-C“”
我想为我的两个GitHub帐户创建两个SSH密钥,然后分别使用它们推送到各个GitHub帐户。但当我默认创建SSH-keygen文件时,id\u rsa文件用于登录,这只允许一个git帐户连接
请帮助我在将代码推送到GitHub存储库时如何提供正确的SSH密钥文件。假设您的主目录是
/home/userName
,您的SSH密钥存储在.SSH
子目录(Linux上的默认位置)。
首先,生成具有不同名称的SSH密钥:
ssh-keygen -t rsa -b 4096 -f /home/userName/.ssh/id_rsa_1
ssh-keygen -t rsa -b 4096 -f /home/userName/.ssh/id_rsa_2
这将创建以下关键文件:
/home/userName/.ssh/id_rsa_1
/home/userName/.ssh/id_rsa_1.pub
/home/userName/.ssh/id_rsa_2
/home/userName/.ssh/id_rsa_2.pub
我们还假设id\u rsa\u 1用于名为user\u 1的GitHub帐户,而id\u rsa\u 2将用于user\u 2
步骤:
.pub
文件的内容复制到GitHub中的相应帐户:设置->SSH密钥->新建SSH密钥->在文本框中粘贴密钥
/home/userName/.ssh/config
。我们将为每个GitHub帐户分配单独的别名,并将它们映射到GitHub.com。我们将调用别名host_1和host_2。config
文件应如下所示:config
文件中指定的别名克隆存储库。如果帐户用户_1下有名为repo_1的回购,则可以使用以下命令克隆该回购:希望发生的事情是清楚的:在远程主机上运行
git
命令,使用ssh
语法告诉git使用ssh作为其传输。当SSH在配置文件中找到远程设备的DNS名称时,它会发现它实际上应该连接到github.com,并使用密钥/home/userName/.SSH/id\u rsa\N
进行身份验证。每次运行SSH-keygen
“?是,当它询问文件名时,我指定了不同的文件名,但不确定登录时如何使用该文件。”
Host host_1.github.com
HostName github.com
User git
Port 22
IdentityFile /home/userName/.ssh/id_rsa_1
Host host_2.github.com
HostName github.com
User git
Port 22
IdentityFile /home/userName/.ssh/id_rsa_2
git clone git@host_1.github.com:user_1/repo_1
git clone git@host_2.github.com:user_2/repo_2