首先,我是SSH的新手。
在this question中,我看到了设置SSH配置文件的必要性和好处。在进行研究时,我注意到关于SSH有很多知识,而且我还发现我一直在使用SSH密钥而不是SSH服务器。我一直在使用按键将代码推送到托管仓库中。
所以现在我的问题是(我正在使用Windows 10):
答案 0 :(得分:1)
通常,在Windows计算机中,SSH配置文件存储在以下位置: /c/Users/PC_USER_NAME/.ssh/
只需按照以下步骤操作(如果您使用的是Git Bash):
/c/Users/PC_USER_NAME/.ssh/
,单击鼠标右键并选择“此处Git Bash” touch config
nano config
假设您已经为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>