MobaXTerm – Аутентификация SSH-ключом

Вопрос или проблема

У меня есть ключ, который я конвертировал, и он работает нормально с Putty.

Я пробовал эти форматы:

ssh -p 1111 -i id_rsa [email protected]

ssh -i id_rsa -p 1111 [email protected]

Ключ находится в одной папке с исполняемым файлом MobaXTerm.

Спасибо!

ИЗМЕНЕНИЕ:

[chip.client] $ ssh -p 1111 -i id_rsa [email protected] -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 [email protected]
debug1: kex: client->server aes128-ctr hmac-md5 [email protected]
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] ~

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

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

ssh -p 1111 -i /drives/e/keys/id_rsa [email protected]

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

Если у вас уже есть настроенные ключи через Putty или что-то другое, проще всего скопировать и вставить их в директорию ssh MobaXterm.

Поэтому скопируйте их, а затем вставьте ключи в:C:\Users\%USERNAME%\Documents\MobaXterm\home\.ssh

Примечание:

По умолчанию путь для Putty обычно C:\Users\.ssh

По умолчанию путь для Cygwin обычно C:\cygwin64\home\%USERNAME%\.ssh

Я не уверен, как работает 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" на вашей файловой системе.

Если вы используете vagrant:

Попробуйте получить информацию о созданных вами машинах, используя vagrant ssh-config, это предоставит следующий вывод:

Host master
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/kafka-cluster/.vagrant/machines/master/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
  PubkeyAcceptedKeyTypes +ssh-rsa
  HostKeyAlgorithms +ssh-rsa

Вставьте расположение файла private_key как показано ниже:
вставьте описание изображения здесь

Ответ или решение

Использование SSH-ключей в MobaXterm: Подробное руководство

При работе с MobaXterm для выполнения SSH-подключений одним из наиболее безопасных и удобных методов аутентификации является использование SSH-ключей. Если вы уже успешно используете SSH-ключи с Putty, но сталкиваетесь с трудностями в MobaXterm, это руководство поможет вам правильно настроить аутентификацию с использованием ключей.

1. Подготовка SSH-ключей

Сначала убедитесь, что ваш ключ находится на правильном месте. MobaXterm использует временную директорию для хранения SSH-ключей по умолчанию. Чтобы избежать потери ключей при закрытии программы, рекомендуется сохранить их в постоянном каталоге.

Шаги для сохранения ключа:

  • Создайте папку для хранения ключей, например, E:\keys.
  • Скопируйте ваш приватный ключ в эту папку.

2. Использование полного пути к ключу

Когда вы запускаете SSH-подключение, обязательно указывайте полный путь к вашему ключу. Если ваш ключ находится в E:\keys\id_rsa, команда для подключения на сервер будет выглядеть следующим образом:

ssh -p 1111 -i /drives/e/keys/id_rsa [email protected]

3. Настройка постоянной домашней директории

Если вы используете MobaXterm регулярно, вы можете установить постоянную домашнюю директорию, чтобы избежать необходимости каждый раз указывать путь к ключам. Для этого:

  • Перейдите в меню Settings -> Configuration -> Miscellaneous Options.
  • Установите опцию Use the following persistent HOME directory и укажите путь к желаемой директории.

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

4. Копирование ключей из других программ

Если у вас уже есть ключи, созданные в других SSH-клиентах (например, Putty), вы можете скопировать их в директорию MobaXterm.

Стандартное местоположение для MobaXterm:

C:\Users\%USERNAME%\Documents\MobaXterm\home\.ssh

5. Проверка текущего рабочего каталога

Если вы не уверены в текущем рабочем каталоге при запуске MobaXterm, выполните команду pwd. Убедитесь, что ключи находятся в соответствующем месте, или укажите полный путь к ключу в вашей команде SSH.

6. Дополнительные советы

  • Если используется Vagrant, вы можете получить информацию о созданных машинах с помощью команды:
    vagrant ssh-config

    В выводе будет указано местоположение вашего приватного ключа. Убедитесь, что вы используете его в команде SSH.

Заключение

Настройка SSH-ключей в MobaXterm может быть немного отличной от процесса в других клиентах, таких как Putty. Однако следуя вышеизложенным шагам, вы сможете без проблем организовать аутентификацию с использованием ключей. Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью. Исполнив эти шаги, вы гарантируете безопасность своих подключений и сохранность ваших данных.

Оцените материал
Добавить комментарий

Капча загружается...