linux - 如何从 gitbash 生成多个 SSH 公钥并在 Windows 机器上配置这些公钥?

标签 linux windows git ssh ssh-keys

<分区>

让我们先描述一下我遇到的问题:

  • 我有两台 PC,一台是 Windows 机器,另一台是 Linux 机器。

  • 我想在这两台机器上生成两个 SSH 公钥。一个用于我的 GitHub 帐户,另一个用于我的 GitLab 帐户。

  • 我使用以下命令生成了 SSH 公钥,它在我的 Linux 机器上可以正常工作,但在 Windows 机器上却不行。

命令:

第 1 步:生成 SSH key

ssh-keygen

第 2 步:写下我要保存 SSH key 的目录和文件名。

[ 对于我的情况,我在下面插入了 windows 路径]

/c/Users/PC_USER_NAME/.ssh/id_rsa_hub

第三步:从文件中获取公钥

cat ~/.ssh/id_rsa_hub.pub

这些步骤在我的 Linux 机器上完美运行,但在 Windows 上,我看到了身份验证错误。如何配置 SSH 公钥?

最佳答案

对于windows机器,你还得多做一项配置。只需按照以下步骤操作(如果您使用的是 Git Bash):

  1. 转到 .ssh 目录 /c/Users/PC_USER_NAME/.ssh/,单击鼠标右键并选择“Git Bash Here”
  2. 使用以下命令创建名为“config”的文件:
touch config
  1. 现在使用以下命令打开配置文件:
nano config
  1. 现在在配置文件中写入以下几行

假设您已经为 Github 创建了两个名为 id_rsa_hub 的文件,为 GitLab 创建了名为 id_rsa_lab 的文件

# GITHUB
Host github.com
   HostName github.com
   PreferredAuthentications publickey
   IdentityFile ~/.ssh/id_rsa_hub

# GITLAB
Host gitlab.com
   HostName gitlab.com
   PreferredAuthentications publickey
   IdentityFile ~/.ssh/id_rsa_lab

关于linux - 如何从 gitbash 生成多个 SSH 公钥并在 Windows 机器上配置这些公钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56517645/

相关文章:

linux - 如何安装 Go

windows - Kubectl:获取 Windows 下正在运行的容器的 shell

git - 列出除一个以外的所有远程分支的提交

git - 这个 git 日志是什么意思?

linux - 了解 Linux 内核的 mm 部分的文档?

node.js - NGINX 反向代理/端口转发规则将 http 流量发送到我的 Node Express 应用程序的端口 3000,导致该应用程序无法使用

c++ - 如果我在 Linux 上更改 C++ 动态共享库,而我的可执行程序在其上使用,会发生什么

c - 设置DiGetDeviceRegistryProperty : "The data area passed to a system call is too small" error

windows - 为什么 LibreSSL 从 2.6 开始停止发布 Windows 二进制文件?

git - 为什么 git 应用带有二进制文件的补丁而不创建二进制文件?