【问题标题】:How to set up an SSH config-file for beginners [closed]如何为初学者设置 SSH 配置文件 [关闭]
【发布时间】:2019-10-10 17:26:49
【问题描述】:

首先,我对 SSH 还很陌生。

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

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

  1. 我可以在没有 openSSH 之类的工具的情况下设置 SSH 配置文件吗?如果可以,我该怎么做?
  2. 此配置文件存储在我计算机的哪个位置?

【问题讨论】:

  • 那你用的是哪个 ssh 客户端?
  • 我刚刚安装了 git 我正在使用 git 终端
  • 在 Windows 中,~ 是您用户的主目录,例如:C:\Users\username。只需在那里创建.ssh/config 文件。
  • 基本的命令行扫盲题并不适合 Stack Overflow;也许可以在我们的通用计算兄弟网站之一上询问Ask DifferentUnix & LinuxSuper User

标签: ssh openssh


【解决方案1】:

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

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

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

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

要创建新的 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>

【讨论】:

  • 密钥和配置不能保存在C:\ProgramData\ssh\下吗?
  • @motorbaby 默认情况下不是,因为 SSH 查找“HOME”,在 Windows 上为 %USERPROFILE%。我想配置文件本身(同样,它必须在 HOME:ssh.com/ssh/config)然后可以引用可以存储在您想要的任何地方的公钥/私钥。
  • 我在 linux 中。是否需要在配置文件中添加“用户”,您可以分享任何类型的文档以查看更多关于配置文件的信息
  • @legacy 添加用户是一种最佳实践,以避免在 SSH URL 中重复该用户。在linuxize.com/post/using-the-ssh-config-filecyberciti.biz/faq/create-ssh-config-file-on-linux-unix 上查看更多信息
【解决方案2】:

一般情况下,在 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

【讨论】:

  • 这在 Windows 10 上不起作用,它会使用不正确的所有权和/或权限创建文件
  • 尝试以管理员身份运行命令提示符 - 以管理员身份运行
猜你喜欢
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多