Обновить: Похоже, что дизайн сети был полностью неправильным, и вместо этого поток аутентификации должен быть наоборот. Так что этот вопрос сейчас спорный.
Текущая установка: виртуальная машина Linux (предположим, общие и самые последние версии, такие как CentOS 7.1 и Ubuntu 15.04) на хосте Windows 7 с использованием Virtualbox.
TL; DR вопрос: Можно ли запустить openssh внутри виртуальной машины для не использовать локальный ssh-агент для аутентификации ключа, но вместо этого использовать Peagent на хосте Windows? Допускается более сложная установка.
длинный вопрос: Изначально на хосте и виртуальной машине есть несколько копий ключей - формат Putty на хосте и формат ключа openssh на виртуальных машинах через общую папку, и многие из них для удобства не защищены паролем. Но в последнее время я чувствую необходимость их объединить и добавить больше защиты. Ключи предназначены для удаленного администрирования и проверки исходного кода через системы контроля версий, в основном Git. Вот требования:
Пункт 1 (разрешение хосту Windows использовать pageant для аутентификации) относительно тривиален; git setup по сути сводится к правильной настройке $GIT_SSH
переменная окружения. Не только Putty, но даже OpenSSH MinGW может подключаться к конкурсу, сохраняя все ключи в диспетчере паролей (используя KeePass 2.x) и экспортируя сокет, подходящий для использования в качестве $SSH_AUTH_SOCK
используя Плагин KeeAgent. Видеть это сообщение ServerFault для другого подхода.
Но пока не удается получить доступ к конкурсу через виртуальную машину Linux. Я пробовал следующий подход но не удалось:
plink.exe
изнутри ВМ. Это похоже на наивный подход ssh host1 ssh host2
что вполне нормально для моей цели.cmd
работает. Большинство доступных SSH-серверов, работающих в Windows, основаны на Cygwin. Выглядит очень похоже на это Комбинированный отчет об ошибке putty / cygwin.Примечание: Возможно, подобный вопрос здесь, но я не использую Vagrant.
Кажется, первоначальный дизайн был совершенно неправильным. Было бы намного чище включить sshd-сервер на каждой виртуальной машине с
AllowAgentForwarding yes
И затем ssh в каждую виртуальную машину. Таким образом, все виртуальные машины будут автоматически использовать агент аутентификации с хоста без необходимости установки какого-либо ключа ssh.