Вместо того, чтобы создавать новую пару ключей SSH в бродячем ящике, я хотел бы повторно использовать пару ключей, которая у меня есть на моем хост-компьютере, с использованием пересылки агента . Я попытался установить config.ssh.forward_agent в TRUE в Vagrantfile, затем перезагрузил виртуальную машину и попытался использовать:
vagrant ssh -- -A
... но я все еще получаю запрос на ввод пароля, когда пытаюсь выполнить проверку git. Есть идеи, что мне не хватает?
ssh
virtualbox
forwarding
ssh-keys
vagrant
Мэтт В.
источник
источник
Ответы:
Я использую vagrant 2 на OS X Mountain Lion.
config.ssh.private_key_path
ваш локальный закрытый ключssh-add -L
, если его нет в списке, добавьте его с помощьюssh-add ~/.ssh/id_rsa
~/.ssh/authorized_keys
на Vagrant VM. Вы можете скопировать и вставить или использовать такой инструмент, как ssh-copy-idисточник
config.ssh.private_key_path = "~/.ssh/id_rsa"
заставляет Бродягу держатьсяWaiting for VM to boot
.config.ssh.private_key_path = [ '~/.vagrant.d/insecure_private_key', '~/.ssh/id_rsa' ]
ssh-add -K
работающим (а такжеconfig.ssh.forward_agent = true
). Смотрите этот ответДобавьте его в Vagrantfile
См. Документацию
источник
config.ssh.forward_agent
в свой файл конфигурации, так какую новую информацию предоставляет этот ответ? Даже по ссылке уже идет вопрос.В дополнение к добавлению config.ssh.forward_agent = true в бродячий файл убедитесь, что хост-компьютер настроен для пересылки агента. Github предоставляет для этого хорошее руководство . (Ознакомьтесь с разделом устранения неполадок).
источник
У меня это работало с приведенными выше ответами на 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
источник
Если вы работаете в Windows, перенаправление SSH в Vagrant по умолчанию не работает должным образом (из-за ошибки в net-ssh). См. Этот конкретный отчет об ошибке Vagrant: https://github.com/mitchellh/vagrant/issues/1735
Однако есть обходной путь! Просто автоматически скопируйте свой локальный SSH-ключ на Vagrant VM с помощью простого сценария подготовки в вашем VagrantFile. Вот пример: https://github.com/mitchellh/vagrant/issues/1735#issuecomment-25640783
источник
Когда мы недавно опробовали
vagrant-aws
плагин с Vagrant 1.1.5, мы столкнулись с проблемой пересылки агента SSH. Оказалось, что Vagrant заставлялIdentitiesOnly=yes
без возможности изменить его наno
. Это заставило Vagrant смотреть только на закрытый ключ, который мы указалиVagrantfile
для поставщика AWS.Я написал о нашем опыте в блоге . В какой-то момент это может превратиться в запрос на перенос.
источник
Vagrant up
? Прямо сейчас мне нужно создать машину, вручную войти в систему, а затем добавить мой открытый ключ в /home/vagrant/.ssh/authorized_keysУбедитесь, что виртуальная машина не запускает собственный агент SSH. У меня была эта строчка в моем
~/.profile
После его удаления сработала пересылка агента SSH.
источник
Настоящая проблема заключается в том, что 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 vagrant@192.168.2.101 (изменить на свой собственный IP-адрес хоста, дуд) будет работать нормально. Поблагодари меня, просто зови меня Лэйфэн!
источник
В Windows проблема в том, что Vagrant не знает, как общаться с ssh-агентом git-bash. Однако он знает, как использовать Pageant PuTTY. Итак, пока Pageant запущен и загрузил ваш SSH-ключ, и пока вы установили config.ssh.forward_agent, это должно работать.
См. Этот комментарий для подробностей.
Если вы используете Pageant, то обходной путь обновления Vagrantfile для копирования ключей SSH в Windows больше не нужен.
источник