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

Я настроил параметры ssh для Vagrant 1.8.1, как описано здесь

Вскоре я получил файл конфигурации хоста ssh:

Host bitbucket.org
  Hostname bitbucket.org
  IdentityFile ~/.ssh/id_bitbucket
  User zuba
  ForwardAgent yes

в Vagrantfile:

config.ssh.forward_agent = true

На хост-компьютере ssh-add -L показывает ключ, а в бродячем поле сообщает, что у агента нет удостоверений, а git clone завершается сбоем из-за сбоя аутентификации.

Как решить эту проблему?

ОБНОВЛЕНИЕ 1:

vagrant ssh -c 'ssh-add -l' показывает ключ

> vagrant ssh-config
Host p4
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/zuba/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL
  ForwardAgent yes

ОБНОВЛЕНИЕ 2:

нашел дубликат сообщения без ответов переадресация бродячего агента ssh работает только для встроенные команды?

ОБНОВЛЕНИЕ 3:

Вот мой Vagrantfile:

Vagrant.configure("2") do |config|

  boxes = {
      "p4" => "10.2.2.15",
  }

  boxes.each do |box_name, box_ip|
    config.vm.define box_name do |config|
      config.vm.box = "trusty-64"
      config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
      config.vm.hostname = "p4"
      config.vm.network :private_network, ip: box_ip
      config.vm.network "forwarded_port", guest: 3000, host: 3000
      config.vm.network "forwarded_port", guest: 3001, host: 3001
      config.vm.network "forwarded_port", guest: 3002, host: 3002
      config.vm.network "forwarded_port", guest: 3003, host: 3003
      config.vm.network "forwarded_port", guest: 6379, host: 6379 # Redis

      config.vm.provider "virtualbox" do |vb|
        vb.gui = false
        vb.name = "p4"

        # Use VBoxManage to customize the VM. For example to change memory:
        vb.customize ["modifyvm", :id, "--memory", "1024"]
      end

      config.vm.synced_folder "../..", "/home/vagrant/my_src"
      config.ssh.forward_agent = true # to use host keys added to agent

      # provisioning
      config.vm.provision :shell, :inline => "sudo apt-get update"

      config.vm.provision "chef_solo" do |chef|
        chef.log_level = "info"
        chef.environment = "development"
        chef.environments_path = "environments"
        chef.cookbooks_path = ["cookbooks", "site-cookbooks"]
        chef.roles_path = "roles"
        chef.data_bags_path = "data_bags"
        chef.json.merge!(JSON.parse(IO.read("nodes/#{box_ip}.json")))
      end

      config.exec.commands '*', directory: '/home/vagrant'
      config.exec.commands 'apt-get', prepend: 'sudo'
      config.exec.commands %w[rails rspec rake], prepend: 'bundle exec'
    end
  end
end

person zuba    schedule 10.02.2016    source источник
comment
Можете ли вы запустить vagrant в verbose, чтобы посмотреть, что произойдет?   -  person ryekayo    schedule 10.02.2016
comment
Установлено, см. выше   -  person zuba    schedule 10.02.2016
comment
Вы vagrant reload изменили Vagrantfile?   -  person Skrat    schedule 10.02.2016
comment
Какую команду вы используете, чтобы вызвать бродягу?   -  person ryekayo    schedule 10.02.2016
comment
Да, я перезагрузил его   -  person zuba    schedule 10.02.2016
comment
Я использую vagrant reload   -  person zuba    schedule 10.02.2016
comment
как выглядит твой vagrant ssh-config?   -  person PoX    schedule 10.02.2016
comment
Странно, но vagrant ssh -c 'ssh-add -l' показывает ключ   -  person zuba    schedule 10.02.2016
comment
Хорошо, есть флаг --debug, который вы можете использовать для вывода журнала при попытке подключения. Итак, попробуйте vagrant up --debug   -  person ryekayo    schedule 10.02.2016
comment
только что добавил вывод vagrant ssh-config к сообщению выше   -  person zuba    schedule 10.02.2016
comment
Пробовал vagrant up --debug Много сбрасывает. Что мне искать в этом?   -  person zuba    schedule 10.02.2016
comment
@zuba Вы действительно используете vagrant v1.4? Попробуйте обновить, прежде чем продолжать отладку. Переадресацию агента легко настроить, и вы уже все это сделали. Ваш вывод vagrant ssh-config указывает IdentityFile на неверный ключ. Вставьте ваш Vagrantfile.   -  person Skrat    schedule 10.02.2016
comment
Обновление vagrant с 1.4 до 1.8.1 не решает проблему   -  person zuba    schedule 11.02.2016
comment
Добавлено ОБНОВЛЕНИЕ 3: Vagrantfile   -  person zuba    schedule 11.02.2016


Ответы (1)


Наконец я нашел тот пост, который помог мне понять, что запретил бродяге использовать ключ агента.

Я ssh-add нажимаю ключ в одном сеансе экрана GNU и делаю vagrant ssh в другом сеансе экрана. Вот почему ssh-agent был как бы «недоступен» для бродяги.

Когда я добавил ключ и ssh-ed vagrat в том же сеансе экрана, все заработало.

person zuba    schedule 11.02.2016
comment
Имейте в виду, что ssh-agent относится к X-сеансу или сеансу входа в систему. - person Terry Wang; 15.02.2016