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

时间:2019-05-24 06:35:46

标签: ssh openssh

首先,我是SSH的新手。

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

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

  1. 我可以不使用openSSH之类的工具来设置SSH配置文件吗?
  2. 此配置文件存储在我的计算机中的什么位置?

2 个答案:

答案 0 :(得分:1)

通常,在Windows计算机中,SSH配置文件存储在以下位置: /c/Users/PC_USER_NAME/.ssh/

只需按照以下步骤操作(如果您使用的是Git Bash):

  1. 转到.ssh目录/c/Users/PC_USER_NAME/.ssh/,单击鼠标右键并选择“此处Git Bash”
  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

答案 1 :(得分:0)

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

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

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

这样,您就可以从任何CMD会话中获得所需的所有命令,包括Windows 10上的ssh-keygen(甚至无需打开git bash会话)。

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

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

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

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

有关具体示例,请参见“ Multiple Github Accounts With Git In Windows”,例如:

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>