Формат закрытого ключа SSH для Ansible, используемый в подсистеме Windows для Linux - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь изучить / использовать Ansible для настройки моего нового сервера.Control Machine - это компьютер под управлением Windows.Я использую Debian в подсистеме Windows для Linux и успешно установил ansible.Я могу подключиться к серверу (настоящий Debian), используя замазку с закрытым ключом (защищенным паролем) (я скопировал открытый ключ на сервер при создании (это облачный сервер Hetzner)).Но когда я пытаюсь запустить ansible -m ping all, я получаю

server5 | UNREACHABLE! => {
    "changed": false,
    "msg": "not a valid OPENSSH private key file",
    "unreachable": true
}

, я сгенерировал закрытый ключ, экспортировав его с помощью puttygen.После экспорта с «принудительно новым форматом файла» я получил

server5 | UNREACHABLE! => {
    "changed": false,
    "msg": "Invalid/incorrect username/password. Private key file is encrypted",
    "unreachable": true
}

, поэтому я сгенерировал файл с секретным ключом без ключевой фразы, чтобы посмотреть, поможет ли это.Этот закрытый ключ также работает в замазке, но имеет различную печать:

server5 | UNREACHABLE! => {
    "changed": false,
    "msg": "Invalid key",
    "unreachable": true
}

Содержимое файла hosts:

server5 ansible_host=xxx.xx.xx.xx ansible_user=root ansible_ssh_private_key_file=prikey.pem

Файл ключа выглядит следующим образом

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

И как это, если экспортировать с «принудительно новый формат файла»

-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----

Есть идеи, что я делаю не так?

1 Ответ

0 голосов
/ 18 марта 2019

Блин, классика. Просто в файле hosts было неверное имя файла с закрытым ключом, и поэтому он не увидел изменений, когда я переключился с защищенного паролем на файл без пароля.

Я оставляю здесь описание необходимых шагов, используя созвездие Ansible, WinSubSystemLinux и Putty, поскольку я не нашел ни одного (вероятно, потому что в любом случае это легко).

  1. Загрузите ваш файл закрытого ключа в PuttyGen (или создайте его)
  2. Преобразования меню-> Экспорт ключа OpenSSH
  3. Вы можете получить этот файл в подсистеме linux: / mnt / hd / path / to / file.pem
...