如何为初学者设置 SSH 配置文件

How to set up an SSH config-file for beginners

首先,我对 SSH 还很陌生。

我看到了设置 SSH 配置文件的必要性和好处。在进行研究时,我注意到关于 SSH 有很多东西需要了解,而且我还发现我一直在使用 SSH 密钥而不是 SSH 服务器。我一直在使用密钥将我的代码推送到我的托管存储库。

所以现在我的问题是(我正在使用 windows 10):

  1. 我可以在没有像 openSSH 这样的工具的情况下设置 SSH 配置文件吗?如果可以,我该怎么做?
  2. 这个配置文件存储在我电脑的什么地方?

默认情况下,您的 %HOME% 将是您的 %USERPROFILE%

要创建新密钥,请确保添加到您的环境变量中:

set GH=C:\path\to\git
set PATH=%GH%\bin;%GH%\usr\bin;%GH%\mingw64\bin;%PATH%

这样,您将在 Windows 10 上获得所有需要的命令,包括 ssh-keygen,直接来自任何 CMD 会话(甚至无需打开 git bash 会话)。

要创建新的 SSH 密钥,首先尝试使用不带密码的 SSH 密钥,并确保在 CMD 会话中创建它 with the legacy format(而不是 git bash) :

ssh-keygen -m PEM -t rsa -P "" -f %USERPROFILE%\.ssh\myNewKey

'myNewKey':没有扩展名;没有'.xxx'。
-m PEM 用于生成旧格式,因为并非所有远程服务器都能够理解新的 OPENSSH 格式)

然后添加您的 %USERPROFILE%\.ssh\config 文件,将您的新密钥关联到您的服务(您将在其中注册您的 %USERPROFILE%\.ssh\myNewKey.pub public 密钥)

有关具体示例,请参阅“”,如:

ssh-keygen -m PEM -t rsa -P "" -f %USERPROFILE%\.ssh\github_key

然后,在%USERPROFILE%\.ssh\config中:

Host gh
 HostName github.com
 User git
 IdentityFile ~/.ssh/github_key  

这样,您可以将 GitHub 存储库的远程 URL 替换为:

gh:<yourGitHubUser>/<yourGitHubRepo>

一般来说,在Windows机器上,SSH配置文件存放在以下位置: /c/Users/PC_USER_NAME/.ssh/

只需按照以下步骤操作(如果您使用的是 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