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 key
ssh.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
)。