Намерение: иметь возможность развертывания на 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\Administrator.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)
- Ubuntu x64
- 192.168.55.2, доступно только через хост
- В
/home/vagrant/.ssh
нет ключей 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 web-server@lan-example.com
поскольку это показывает, что нет никаких ключей для использования.
Я заметил кое-что о бета-версии Keeagent, которая позволяет мне устанавливать SSH_AUTH_SOCK. Я сделал это и настроил общий ресурс NFS, который позволяет гостевой ОС читать файл; Однако это ничего не меняет. Как переадресация агентов работает даже в такой среде? Чем отличается Windows от этой ошибки?