SSH с использованием переадресации агента с ОС хоста Windows, гостевой ОС Vagrant Ubuntu и Keepass/Keeagent

SSH с использованием переадресации агента с ОС хоста Windows, гостевой ОС Vagrant Ubuntu и Keepass/Keeagent

Намерение: Чтобы иметь возможность развернуть lan-example.comиз любой среды разработки; будь то напрямую из виртуальной ОС или любой системы с одной ОС, или даже через Интернет с использованием ОДНОГО ключа SSH, сохраненного в Keepass. В настоящее время я не могу сделать это из ОС Vagrant, если я явно не сгенерирую его собственный ключ и не авторизую его на каждом из моих серверов развертывания. Я полагаю, что способ сделать то, что я хочу, — это через переадресацию агента пользователя, да?


Хост ОС

  • Windows 7 x64
  • Ключ SSH, сгенерированный puttygen:C:\Users\Administrator\.ssh\id_rsa.ppk
  • Keepass с Keeagent, хранящим мой ключ SSH. Keeagent установлен в режим «Агент»
  • pageant.exe установлен, но не запущен
  • Если я хочу подключиться к внешним/внутренним серверам локальной сети, используя свой ключ, Putty обращается к Keeagent — Putty не сохраняет местоположения закрытых ключей в своей конфигурации.

C:\Users\Администратор.ssh\config

Host 192.168.55.2
  ForwardAgent yes

Vagrantfile

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.network :private_network, ip: '192.168.55.2'
  config.ssh.forward_agent = true
  # Why would I need to set this if Keeagent is handling things?
  config.ssh.private_key_path = '~/.ssh/id_rsa_jake_mitchell.ppk'
end

Гостевая ОС (Vagrant)

  • Убунту х64
  • 192.168.55.2, доступен только через хост
  • Ключей SSH нет /home/vagrant/.ssh(я их удалил). Цель состоит в том, чтобы позволить User Agent Forwarding через хостовую ОС (Keeagent) заботиться об использовании ключа

LAN Web Host (сайты интрасети)

  • Допустим, его домен —lan-example.com
  • Позволяет входить в систему по SSH без пароля только с использованием открытого ключа id_rsa.ppk.
  • 192.168.0.2
  • Переадресация агента пользователя включена в sshd

Проблема:

Что работает (используя Host OS): Putty, подключение lan-example.comбез необходимости явно указывать ключ SSH.

Что не работает (при использовании гостевой ОС): так как выдает, что нет никаких ключей для использования.ssh -v [email protected]

Я заметил кое-что обета-версия Keeagentчто позволяет мне установить SSH_AUTH_SOCK. Я сделал это и настроил общий ресурс NFS, который позволяет гостевой ОС читать файл; однако это ничего не меняет. Как вообще работает переадресация агента в такой среде? Что в Windows такого особенного, что приводит к сбою?

решение1

Вам нужно подключиться по ssh из хостовой ОС (используя PuTTY на Windows) с включенным перенаправлением агента. Затем из этого сеанса подключитесь по ssh из гостевой ОС к серверу.

Настройки пересылки агента PuTTY

Связанный контент