【问题标题】:Create `~/.ssh/id_dsa` on a Windows machine for JSch [closed]在 Windows 机器上为 JSch 创建 `~/.ssh/id_dsa` [关闭]
【发布时间】:2015-12-30 01:41:55
【问题描述】:

我想知道是否可以在 Windows 机器~/.ssh/id_dsa 上创建此目录?我创建了一个私钥并希望将其保存在名为~/.ssh/id_dsa 的目录中。有人告诉我ssh-keygen -t rsa 这应该在命令行上工作,但不幸的是它没有。

【问题讨论】:

  • ~ 在 Windows 上并不意味着主目录。
  • @PCLuddite 他没有问~ 在 Windows 上是什么意思,他问的是如何创建这样的目录。 ~ 仅表示“用户的主目录”。在类 Unix 系统上,您可以用 /home/<username> 替换它,在 Windows 系统上用 c:\Users\<username> 替换它。就是这样。
  • 顺便说一句,它与 Putty 有什么关系? ~/.ssh 被 OpenSSH 使用。 Putty 甚至无法直接使用 OpenSSH 密钥。
  • @PCLuddite BTW ~ 通常表示“用户的主目录”。你甚至可以在 Windows 系统上使用它,例如在 Git bash 中。
  • 我正在尝试使用 jsch 连接到具有私钥/公钥的 linux 服务器。对于 Jsch,putty 使用的私钥必须转换为 OpenSSH。我已经这样做了,当我运行我的 java 程序时,它在身份验证问题上失败了。我希望如果我将 OpenSSH 文件放在与 ~/.ssh/id_ds 等效的目录中,它可能会起作用

标签: ssh putty jsch


【解决方案1】:

~ 表示用户的主目录。在类 Unix 系统上,它通常是 /home/<username>,在 Windows 系统(Vista 和更新版本)上,它是 c:\Users\<username>

所以只需创建一个目录c:\Users\<username>\.ssh。我猜id_ds 不是目录而是文件。

例如,使用 Git for Windows 打包的 SSH 会在该位置查找 .ssh 目录。一般来说,所有使用MinGW 编译的二进制文件都希望它在那里。

顺便说一句,~ 的 Windows 等效项是 %HOMEPATH% 环境变量。

【讨论】:

  • 你认为我必须将我的 openSHH 文件添加到 %HOMEPATH% 环境变量吗?
  • 你不应该使用像C:\Users\<username>\.ssh这样的硬编码路径。这可能是用户主目录最有可能的位置,但从技术上讲,它可以在任何地方。另外,不能保证C:\Users 将成为未来 Windows 版本中的默认主目录。使用%HOMEDRIVE%%HOMEPATH%\.ssh
  • @PCLuddite 首先,我在回答中提到了它,但这与问题无关。他只需要导航到他的主目录并在那里创建一个子目录。为什么他应该使用环境变量来到达那里?这只是用于某些脚本或类似目的。
【解决方案2】:

~/.ssh/id_dsa 文件是 *nix 系统上 OpenSSH SSH 客户端使用的私钥的默认路径。它与 Windows 或 JSch无关

JSch 使用您使用addIdentity 方法指定的私钥。


注意,这是id_dsa,而不是id_ds。它是一个文件,而不是一个目录。而ssh-keygen -t rsa 很难创建id_dsa,DSA 和 RSA 是不同的算法。 id_rsa 用于 RSA。但无论如何,这一切都与你的问题无关。

【讨论】:

  • 该密钥由与 Git for Windows 打包的 OpenSSH 使用,或者通常使用 MinGW 编译的 OpenSSH 使用。 ~ 它转换为 Windows 用户的配置文件。这就是它与 Windows 的关系。其他注释是有效的,我没有注意到这些,因为这不是他问题的主要关注点。
  • @DawidFerenczy OpenSSH 无法“在 Windows 上”运行。它在 Windows = Cygwin 或 MinGW 上的 *nix 仿真上运行。 Cygwin 或 MinGW 将 ~ 映射到 Windows 用户的配置文件,而不是 Windows 本身。
  • 当然,我知道,如果我的评论不清楚,抱歉。我已经每天使用它超过 8 年了。顺便说一句,Cygwin 确实提供了 POSIX 环境(使用 cygwin1.dll),但 MinGW 没有。它是一个工具链,可以编译成原生 Windows 应用程序,而不依赖于非 Windows 库)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-13
  • 2016-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-01
  • 2015-03-09
相关资源
最近更新 更多