MobaXTerm-SSH密钥认证


8

我有一个可以转换的密钥,可以与Putty配合使用。

我已经尝试过以下格式:

ssh -p 1111 -i id_rsa chip@192.168.0.100

ssh -i id_rsa -p 1111 chip@192.168.0.100

密钥与MobaXTerm可执行文件位于同一文件夹中。

谢谢!

编辑:

[chip.client] $ ssh -p 1111 -i id_rsa chip@192.168.0.100 -v
Warning: Identity file id_rsa not accessible: No such file or directory.
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to 192.168.0.9 [192.168.0.100] port 1111.
debug1: Connection established.
debug1: identity file /home/chip/.ssh/id_rsa type -1
debug1: identity file /home/chip/.ssh/id_rsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-3ubuntu7
debug1: match: OpenSSH_5.3p1 Debian-3ubuntu7 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 zlib@openssh.com
debug1: kex: client->server aes128-ctr hmac-md5 zlib@openssh.com
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: checking without port identifier
Warning: Permanently added '[192.168.0.100]:1111' (RSA) to the list of known hosts.
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/chip/.ssh/id_rsa
debug1: No more authentication methods to try.
Permission denied (publickey).

[01/09/2011 - 09:15.38] ~

2
您可以使用“ -v”选项运行它以显示一些调试输出吗?
cjc 2011年

你得到什么输出?您是否看过ssh服务器日志?
量子

看起来我只是不知道将钥匙放在哪里。在原始问题中添加了-v输出。
Chip Sprague

Answers:


7

默认情况下,MobaXterm使用主目录位置作为Windows Temp目录。因此,关闭MobaXterm后,您创建的密钥将不可用。

生成密钥后,请将其保存在Windows驱动器的其他文件夹中,并通过“ -i”选项中的完整路径进行引用。Windows驱动器在MobaXterm中称为“ / drives / c /”,“ drives / d /”等。如果私钥保存在E:\ keys \ id_rsa,则命令将如下所示:

ssh -p 1111 -i /drives/e/keys/id_rsa chip@192.168.0.100

如果您定期使用MobaXterm,则处理此问题的最佳方法是使用主目录的永久位置,而不是默认的Temp目录。您可以通过转到设置->配置->其他选项->使用以下持久化HOME目录来执行此操作。在这种情况下,密钥可以保留在主目录中,而您无需提供“ i”选项


2

如果您已经通过Putty或其他方法设置了密钥,那么最简单的方法就是将其复制粘贴到MobaXterm主目录中。

腻子的默认位置通常是 C:\users\.ssh

将密钥复制并粘贴到:C:\Users\*your computer name*\Documents\MobaXterm\home


此外,还应在每个会话配置中设置用户名并分配私钥。
okwap

0

对于登录环境,我不确定MobaXTerm的工作方式。显然,从您的输出中,ssh正在寻找名称为/home/chip.ssh/id_rsa的密钥。

因此,当您启动MobaXTerm时,可以尝试一些操作,例如运行“ pwd”并查看它认为在哪个目录中并在其中放置密钥吗?在ssh命令中,您应该能够使用“ ssh -i / path / to / ssh / key / id_rsa”之类的名称以及所使用的其他ssh选项来指定密钥的完整路径。

或者,您可以指定一些替代路径。如果MobaXTerm是基于Cygwin的,则可以说出类似“ / cygdrive / c / Documents / ssh / id_rsa”之类的内容,该名称应与文件系统上的“ C:\ Documents \ ssh \ id_rsa”相对应。


pwd向我展示了它认为它在/ home / X中,其中X是.exe所在的目录
Chip Sprague

当我尝试使用/ home / X / id_rsa时,它告诉我没有这样的文件或目录,即使我确实在其中看到它:/
Chip Sprague

好的,我刚刚下载了MobaXterm并尝试了一下。我用“ ssh-keygen”创建了一个新密钥。我不确定/ home / MobaXTerm实际在哪里;它看起来像是某种虚拟家庭。无论如何,我都可以通过指定以下命令来连接到服务器:“ ssh -i ./id_rsa -l用户名服务器”,其中id_rsa是我的当前目录。
cjc 2011年

好的,您的密钥文件是“ id_rsa”,并且与MobaXTerm.exe位于同一目录中吗?
Chip Sprague

密钥在/ home / MobaXTerm中。我不知道Windows文件系统上的实际位置。我没有使用现有的密钥;我使用“ ssh-keygen”在/ home / MobaXTerm中创建了一个新的。
cjc 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.