Назад | Перейти на главную страницу

Openssh в виртуальной машине аутентифицируется с помощью Pageant на хосте

Обновить: Похоже, что дизайн сети был полностью неправильным, и вместо этого поток аутентификации должен быть наоборот. Так что этот вопрос сейчас спорный.


Текущая установка: виртуальная машина Linux (предположим, общие и самые последние версии, такие как CentOS 7.1 и Ubuntu 15.04) на хосте Windows 7 с использованием Virtualbox.

TL; DR вопрос: Можно ли запустить openssh внутри виртуальной машины для не использовать локальный ssh-агент для аутентификации ключа, но вместо этого использовать Peagent на хосте Windows? Допускается более сложная установка.

длинный вопрос: Изначально на хосте и виртуальной машине есть несколько копий ключей - формат Putty на хосте и формат ключа openssh на виртуальных машинах через общую папку, и многие из них для удобства не защищены паролем. Но в последнее время я чувствую необходимость их объединить и добавить больше защиты. Ключи предназначены для удаленного администрирования и проверки исходного кода через системы контроля версий, в основном Git. Вот требования:

  1. Хост Windows может подключаться к удаленному серверу по ssh и может использовать git через ssh.
  2. Виртуальная машина Linux может подключаться к удаленному серверу по ssh и может использовать git через ssh.
  3. Ключи хранятся только на хосте, а не на виртуальных машинах. (Это означает, что это не будет настройка пересылки агента ssh)

Пункт 1 (разрешение хосту Windows использовать pageant для аутентификации) относительно тривиален; git setup по сути сводится к правильной настройке $GIT_SSH переменная окружения. Не только Putty, но даже OpenSSH MinGW может подключаться к конкурсу, сохраняя все ключи в диспетчере паролей (используя KeePass 2.x) и экспортируя сокет, подходящий для использования в качестве $SSH_AUTH_SOCK используя Плагин KeeAgent. Видеть это сообщение ServerFault для другого подхода.

Но пока не удается получить доступ к конкурсу через виртуальную машину Linux. Я пробовал следующий подход но не удалось:

Примечание: Возможно, подобный вопрос здесь, но я не использую Vagrant.

Кажется, первоначальный дизайн был совершенно неправильным. Было бы намного чище включить sshd-сервер на каждой виртуальной машине с

AllowAgentForwarding yes

И затем ssh в каждую виртуальную машину. Таким образом, все виртуальные машины будут автоматически использовать агент аутентификации с хоста без необходимости установки какого-либо ключа ssh.