无法使用 Cygwin 中的 RSA 密钥和 ssh.exe 登录远程 debian 系统

无法使用 Cygwin 中的 RSA 密钥和 ssh.exe 登录远程 debian 系统

ssh.exe我需要使用Cygwin登录 Debian 服务器。我已生成 RSA 密钥并将其附加到authorized_keys文件中。

Debian 没问题,因为我可以使用 RSA 密钥油灰在那里登录。但是,当我尝试登录时,ssh.exe它说密码不正确。我无法./ssh/从 Cygwin 访问该文件夹。

更新:正如我怀疑的那样,添加-vvvv显示以下内容:

debug1: could not open key file '/home/steve/.ssh/id_rsa': Permission denied

该文件就在那里,我可以C:\cygwin\home\steve\.ssh\id_rsa通过文件管理器查看。

更新2:

ls -lA ~/
drwx------+ 1 steve None         0 фев 27 13:20 .ssh

$ ls -l ./.ssh/
ls: невозможно открыть каталог ./.ssh/: Permission denied

我怎样才能解决这个问题?

答案1

您无法访问哪个 .ssh 文件夹? (在 Ubuntu 上您将无法从 Cygwin 中看到它,但是您应该能够在 Ubuntu 上看到它,从Ubuntu,如果那是它所在的位置)。如果您使用 puttygen 生成 RSA 密钥,它将无法与 Cygwin 的 ssh.exe 一起使用,因为它们的密钥文件使用不同的格式(putty 使用扩展名为 .ppk 的文件,其格式不同)。

您可以在 puttygen 中加载此 ppk 文件,然后使用Conversions -> Export OpenSSH keyssh.exe 可以使用的正确格式保存它。如果您想从 Windows 磁盘驱动器在 Cygwin 中加载该密钥文件,您可以使用 /cygdrive 目录来访问密钥所在的 C: 驱动器(或其他驱动器)。然后你可以使用 -i 将 ssh 指向它。另一种选择是使用 ssh-keygen 为 Cygwin 生成新密钥并将其添加到 Ubuntu 的authorized_keys 中。

此外,Cygwin ssh 默认使用您登录 Windows 的用户名作为远程主机的用户名,除非您将其指定为 ssh 命令参数的一部分。

如果它仍然不起作用,那么我会通过在命令参数中添加 -vvv 来检查 ssh 正在做什么。

ssh -vvvv -i /cygdrive/c/path/to/my/id_dsa -l username host.address.here

(显然替换了 -i -l 和 的正确参数host.address.here)。

相关内容