2016-02-10 65 views
1

工作,我成立了流浪1.8.1 SSH PARAMS描述hereSSH轉發並不能爲無業遊民

不久,我得到了主機的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克隆由於認證失敗而失敗

如何解決這個問題?

更新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:

找到的重複後,沒有答案vagrant ssh agent forwarding only works for inline commands?

更新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 
+0

可以運行在冗長的流浪漢,看看會發生什麼? – ryekayo

+0

我該怎麼做? – zuba

+0

已設置,請參閱上面的 – zuba

回答

1

最後我發現that post這讓我找出使用代理鍵防止流浪漢。

ssh-add鍵中的一個GNU屏幕會話,而在另一個屏幕會話中做vagrant ssh。這就是爲什麼ssh-agent對流浪者來說有點「無法訪問」的原因。

當我在同一個屏幕上添加會話密鑰和SSH-ED vagrat,一切都開始工作

+0

請注意,'ssh-agent'是每個X會話或登錄會話。 –