Как использовать переадресацию агента ssh с помощью vagrant ssh?

Вместо того, чтобы создавать новую пару ключей SSH на блуждающем ящике, я хотел бы повторно использовать пару ключей, которую я имею на своем хост-компьютере, используя переадресация агента . Я попытался установить config.ssh.forward_agent значение TRUE в Vagrantfile. затем перезагрузил виртуальную машину и попытался использовать:

vagrant ssh -- -A

... но мне все равно предлагается пароль при попытке сделать git checkout. Есть идеи, что мне не хватает?

95 голосов | спросил Matt V. 14 PM00000070000003431 2012, 19:18:34

8 ответов


0

Я использую vagrant 2 на OS X Mountain Lion.

Vagrant.configure("2") do |config|
  config.ssh.private_key_path = "~/.ssh/id_rsa"
  config.ssh.forward_agent = true
end
  1. config.ssh.private_key_path - ваш локальный закрытый ключ
  2. Ваш закрытый ключ должен быть доступен локальному ssh-агенту. Вы можете проверить с помощью ssh-add -L, если его нет в списке, добавьте его с помощью ssh-add ~/.ssh/id_rsa
  3. Не забудьте добавить свой открытый ключ в ~/.ssh/authorized_keys на Vagrant VM. Вы можете сделать это, скопировав и вставив или используя такой инструмент, как ssh-copy-id
ответил LuizSignorelli 21 AMpSun, 21 Apr 2013 07:28:56 +040028Sunday 2013, 07:28:56
0

Помимо добавления «config.ssh.forward_agent = true» в файл vagrant, убедитесь, что на главном компьютере настроена переадресация агента. Github предоставляет хорошее руководство для этого. (Ознакомьтесь с разделом устранения неполадок).

ответил HipsterHobo 26 J000000Friday13 2013, 17:55:11
0

Я работал с вышеуказанными ответами на 1.4.3, но перестал работать на 1.5. Теперь мне нужно запустить ssh-add, чтобы полностью работать с 1.5.

А пока я добавляю следующую строку в мой сценарий обеспечения доступа. - name: Make sure ssk keys are passed to guest. local_action: command ssh-add

Я также создал суть своей настройки: https://gist.github.com/KyleJamesWalker/9538912

ответил Kyle James Walker 14 MaramFri, 14 Mar 2014 04:53:00 +04002014-03-14T04:53:00+04:0004 2014, 04:53:00
0

Если вы работаете в Windows, SSH Forwarding в Vagrant не работает должным образом по умолчанию (из-за ошибки в net-ssh). См. Этот конкретный отчет об ошибке Vagrant: https://github.com/mitchellh/vagrant/issues/1735 . р>

Однако, есть обходной путь! Просто скопируйте ваш локальный ключ SSH на виртуальную машину Vagrant с помощью простого сценария обеспечения в вашем VagrantFile. Вот пример: https://github.com/mitchellh/vagrant/issues/1735#issuecomment-25640783

ответил Tim Donohue 14 J000000Monday14 2014, 23:04:01
0

Когда мы недавно опробовали плагин vagrant-aws с Vagrant 1.1.5, мы столкнулись с проблемой переадресации агента SSH. Оказалось, что Вагрант заставлял IdentitiesOnly=yes без возможности изменить его на no. Это заставило Vagrant просматривать только закрытый ключ, который мы указали в Vagrantfile для поставщика AWS.

Я описал наш опыт в a сообщение в блоге . В какой-то момент это может превратиться в запрос на извлечение.

ответил Benjamin Oakes 11 PMpThu, 11 Apr 2013 19:03:07 +040003Thursday 2013, 19:03:07
0

Настоящей проблемой является Vagrant, использующий 127.0.0.1:2222 в качестве переадресации порта по умолчанию. Вы можете добавить один (не 2222, 2222 уже занят по умолчанию)

config.vm.network "forwarded_port", гость: 22, хост: 2333, host_ip: "0.0.0.0"

«0.0.0.0» - это способ получения запроса от внешнего соединения. затем ssh -p 2333 [email protected] (измените на свой собственный IP-адрес хоста, dud) будет работать просто отлично. Спасибо, просто называй меня Лейфэн!

ответил Leifeng 4 MaramWed, 04 Mar 2015 01:52:05 +03002015-03-04T01:52:05+03:0001 2015, 01:52:05
0

Убедитесь, что виртуальная машина не запускает собственный агент SSH. У меня была эта строка в моем ~/.profile

eval `ssh-agent`

После его удаления переадресация агента SSH сработала.

ответил Fabian Schmengler 15 MarpmWed, 15 Mar 2017 12:52:25 +03002017-03-15T12:52:25+03:0012 2017, 12:52:25
0

В Windows проблема заключается в том, что Vagrant не знает, как общаться с ssh-агентом git-bash. Он, однако, знает, как использовать театрализованное представление PuTTY. Итак, пока Pageant работает и загружает ваш SSH-ключ, и если вы установили config.ssh.forward_agent, это должно работать.

См. этот комментарий для получения дополнительной информации.

Если вы используете Pageant, то обходной путь обновления Vagrantfile для копирования ключей SSH в Windows больше не нужен.

ответил Josh Kelley 15 Jpm1000000pmMon, 15 Jan 2018 21:38:44 +030018 2018, 21:38:44

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132