Подтвердить что ты не робот

Использовать закрытый ключ ssh от хоста в гостевой гостевой

Я хочу клонировать кучу частных репозиториев git при создании брандмауэра. В соответствии с этой статьей это возможно с помощью config.ssh.forward_agent = true. Однако при попытке подключиться к github с помощью чего-то вроде ssh -T [email protected] -o StrictHostKeyChecking=no он не работает со следующей ошибкой:

Предупреждение. Постоянно добавлен "github.com, 192.30.252.130" (RSA) в список известных хостов. Разрешение отклонено (publickey).

Я отключил конфигурацию до самой простой конфигурации. Вы можете найти его здесь: https://gist.github.com/TomTasche/31f7c45fcffc2997d43a

Когда я делаю "бродяга ssh" и повторю попытку, возникает аналогичная ошибка:

Клонирование в "частные репозитории"... Предупреждение. Постоянно добавлен ключ хоста RSA для IP-адреса "192.30.252.130" в список известных хостов. Разрешение отклонено (publickey). фатальный: удаленный конец неожиданно повесил трубку

Изменить: связанная выше конфигурация работает на узле, работающем под управлением Ubuntu, но не работает ни на узле Mac, ни на хосте Windows. Моя цель - иметь конфигурацию, которая работает на всех этих трех хостах.

4b9b3361

Ответ 1

Проверьте, включена ли в вашей хост-системе пересылка ssh-agent. Вы можете сделать это, например, добавив этот блок в свой файл ~/.ssh/config:

Host                    *
  ForwardAgent          yes 

Если это включено, vagrant ssh (а также vagrant provision) должен иметь возможность перенаправлять ваш ключ на гостевую машину.

Вы также можете проверить с помощью ssh-add -l, знает ли ваш ssh-агент о вашем SSH-ключе. Если он включен в список, и у вас активирована переадресация агента, у вас должен быть успех. В противном случае вы можете добавить ключ к вашему ssh-агенту, запустив ssh-add <path to your key file>.

Ответ 2

Похоже, вы можете столкнуться с этой конкретной ошибкой: https://github.com/mitchellh/vagrant/issues/1735 (Несмотря на то, что он "закрыт", он фактически не исправлен)

В Windows SSH Forwarding in Vagrant по умолчанию работает неправильно (из-за ошибки в net-ssh).

Однако есть обходной путь или простой взлом. Вы можете автоматически скопировать свой локальный ключ SSH в Vagrant VM через простую настройку script в вашем VagrantFile. Вот пример: https://github.com/mitchellh/vagrant/issues/1735#issuecomment-25640783

Ответ 3

Том,

То, что вы делаете, носит довольно общий характер, и я не думаю, что это Vagrant.

Попробуйте выполнить следующие действия:

  • отредактируйте /etc/ssh/sshd_config
  • Установить LogLevel debug
  • Перезапустите службу sshd sudo service sshd restart или /etc/init.d/sshd restart
  • tail -f /var/log/authlog - заметьте, файл может быть чем-то вроде /var/log/authd.log или /var/log/secure или что-то в этом роде.
  • Смотрите, что происходит, когда вы подключаетесь. Это должно дать вам некоторые указания на то, почему это не удается.

Снова извините, я не знаком с Vagrant, но мне интересно, работает ли запуск script как другой пользователь, и в этом случае перенаправление агента может работать не так, как ожидалось?