Матрица, использующая ключ SSH для подключения экземпляра ec2 - PullRequest
0 голосов
/ 22 сентября 2018

Я изучаю структуру автоматического подключения экземпляра ec2, который уже создан.Я установил ssh_config в папку ssh

Home myhostname
        Hostname 52.62.207.113
        User ubuntu
        UserKnownHostsFile /dev/null
        StrictHostKeyChecking no
        PasswordAuthentication no
        IdentityFile ~/.ssh/mykey-pem

И я написал файл python для проверки

from fabric import Connection
c = Connection('52.62.207.113')
result = c.run('uname -s')

Ответ терминала

paramiko.ssh_exception.SSHException: No authentication methods available. 

Я неуверен, что происходит.Я пытаюсь вручную

ssh -i mykey.pem ubuntu@52.62.207.113

Он успешно подключается к экземпляру EC2

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Я думаю, что вы пропустили PreferredAuthentications вариантов.
И вы неправильно ввели имя файла ключа.

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

Home myhostname
    Hostname 52.62.207.113
    User ubuntu
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/mykey.pem
0 голосов
/ 22 сентября 2018
Home myhostname
        Hostname 52.62.207.113
...
c = Connection('52.62.207.113')

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

  1. У вас есть Home myhostname.Правильное ключевое слово здесь Host, а не Home:

    Host myhostname
            Hostname 52.62.207.113
    
  2. Если вы хотите, чтобы матрица использовала секцию Host для myhostname, вам, вероятно, придется указать этоconnect to myhostname:

    c = Connection('myhostname')
    

    Вы говорите, что он подключается к IP-адресу, и, вероятно, он не будет связывать это с секцией хоста

Фактическая ошибка, которую вы получаете, «Нет доступных методов аутентификации», возможно, из-за того, что фабрика не применила раздел Host из ssh_config, и она не знает ни о каких ключевых файлах, которые она должна использовать длясеанс.

...