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
И какой выход вы получаете? Вы смотрели логи сервера ssh?
кванты
Похоже, я просто не знаю, куда положить ключ. Добавлен вывод -v к первоначальному вопросу.
Чип Спраг

Ответы:

7

MobaXterm по умолчанию использует местоположение домашнего каталога в качестве временного каталога Windows. Поэтому созданные вами ключи не будут доступны, как только вы закроете MobaXterm.

После того, как ключ сгенерирован, сохраните его в другой папке на своих дисках Windows и укажите его по полному пути в опции "-i". Диски Windows в MobaXterm называются «/ диски / с /», «диски / d /» и т. Д. Если закрытый ключ хранится в E: \ keys \ id_rsa, то команда будет выглядеть так:

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

Если вы регулярно используете MobaXterm, лучший способ справиться с этим - использовать постоянное местоположение для домашнего каталога, а не для временного каталога по умолчанию. Вы можете сделать это, перейдя в Настройки-> Конфигурация-> Прочие параметры -> Использовать следующий постоянный каталог HOME . В этом случае ключи могут оставаться в домашнем каталоге, и вам не нужно указывать «я»

Маной Н.В.
источник
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» в вашей файловой системе.

CJC
источник
pwd показал мне, что он думает, что находится в / home / X, где X - это каталог, в котором находится .exe
Chip Sprague
Когда я пытаюсь использовать / home / X / id_rsa, он говорит, что такого файла или каталога нет, хотя я его там и вижу: /
Chip Sprague
Хорошо, я только что скачал MobaXterm и попробовал. Я создал новый ключ с помощью «ssh-keygen». Я не уверен, где находится / home / MobaXTerm; это где-то какой-то виртуальный дом, похоже. В любом случае я смог подключиться к своему серверу, указав: "ssh -i ./id_rsa -l username server", где id_rsa - мой текущий каталог.
CJC
Хорошо, ваш ключевой файл "id_rsa", и он находится в том же каталоге, что и MobaXTerm.exe?
Чип Спраг
Ключ был в / home / MobaXTerm. Я не знаю, где это на самом деле живет в файловой системе Windows. Я не использовал существующий ключ; Я создал новый в / home / MobaXTerm, используя "ssh-keygen".
CJC