可以通过 SSH 连接,但不能通过 x2go

Mik*_*ike 7 ssh connection nx

我无法使用 DSA 密钥通过 X2GO 连接到远程服务器。通过 SSH 连接工作正常,但是当我尝试与 X2GO 连接时,它会立即进入用户名/密码框,并且不想使用我在选项中指定的私钥。如果我选择“尝试自动登录”,它似乎尝试连接,然后出现以下错误:

没有匹配的公钥
访问被拒绝。可以继续的认证:publickey

它以前可以工作,但我重新安装了客户端操作系统,从那以后我无法连接。我从以前的安装中复制了所有 SSH 密钥。

我也尝试删除我的~/.ssh/known_hosts文件并添加密钥ssh-agent但没有成功,但密钥肯定是正确添加的:

$ ssh-add -l
1024 b9:3d:e5:ef:48:ea:fc:c6:6e:45:89:b5:35:e7:58:39 server.com_dsa (DSA)
Run Code Online (Sandbox Code Playgroud)

请注意,如果我在服务器上启用密码验证,我可以正常连接,但是我想使用 publickey。任何想法如何连接公钥身份验证?

小智 0

您正在尝试哪种服务器/客户端组合?

当我在 Ubuntu 服务器上使用 OSX 客户端时,一切正常。只需将公钥复制到~/.ssh/authorized_keys服务器上即可。

当我在 Ubuntu 服务器上使用 Windows 客户端时,它可以工作,但存在不稳定/错误。

对于后者,您需要按照此处的说明进行操作。本质上,您需要运行:

C:\Program Files\x2goclient>ssh-keygen.exe -t dsa
Run Code Online (Sandbox Code Playgroud)

然后将密钥放到~/.ssh/authorized_keys服务器上。

在windows客户端配置特定连接时还需要注意指定对应的私钥文件。

在当前的Windows客户端中,它会不必要地提示我Enter passphrase to decrypt a key三遍,暂停一下,然后让我进入服务器。一切似乎都工作正常,直到我注销,之后客户端挂起/崩溃。

该客户端是 Windows 8 上的版本 4.0.0.3。