Использование Keyfile с Paramiko для аутентификации без пароля - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь пройти проверку подлинности на нескольких серверах под управлением Linux с SSH-соединениями, автоматизированными Python. Я использую Paramiko для инициации соединений. Я не хочу вводить пароль, и хочу иметь возможность передать ключевой файл для пароля. Я следил за документацией для ключевых файлов и использовал PuTTYGen для создания ключей.

Я пробовал разные типы файлов ключей через PuTTYGen, в конечном итоге используя RSA-2, как предполагает документация paramiko. Я пробовал в разных средах, но без изменений. Я не очень разбираюсь в SSH-файлах ключей, поэтому некоторые указания будут высоко оценены. Прежде всего, я хотел бы получить некоторые рекомендации о том, как создать ключ, какое приложение использовать и т. Д.

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

import paramiko
ssh = paramiko.SSHClient()
ssh.connect(str(machine_name), port=22, username=user, key_filename=key_file_path, timeout=5)

Я бы ожидал, что paramiko возьмет ключевой файл, поскольку я выполнил несколько шагов и документацию по этому вопросу, но он просто говорит "недопустимый закрытый файл ключей RSA".

...