Vagrant VM için ssh-agent yönlendirme


12

Şu anda Mac makinemde bir Vagrant ortamı kurmaya çalışıyorum , böylece çalışabiliyorum vagrant upve daha sonra yüklenecek rbenvve rubyihtiyacım olan her şey var. Sonra github tüm depoları getirecek bir Bash komut dosyası var.

Tek şey yeni vagrant vm şimdi bir ssh anahtarı oluşturmak ve daha sonra Github hesabıma bağlamak zorunda olmasıdır. Bu hantal olabilir. Özellikle de Vagrant dosyamı depolarımıza erişimi olan herkesle paylaşmak istiyoruz, böylece aynı şeyi yapabiliyorlardı.

Bu yüzden VM'mi host ssh'ımı Github'a iletebilmesi için sunucularımı ssh'yi VM'ye iletmeyi deneyebileceğimi düşündüm. Bu makalenin ardından: Githubs izlenecek yol , ben benim ssh config ana ayarlamak:

Host localhost
    ForwardAgent yes

ve vagrant dosyamda ayarlandı

Vagrant.configure("2") do |config|
  config.ssh.forward_agent = true
  ...
end

ve VM'mde oturum açıp aşağıdaki komutu çalıştırdığımda bu hatayı alıyorum:

$ ssh -T git@github.com`
Permission denied (publickey)

Benzer bir kurulumu deneyen var mı? VM hassas bir 64 kutusudur.

DÜZENLE:

env:

vagrant@precise64:~$ env
TERM=xterm-256color
SHELL=/bin/bash
SSH_CLIENT=10.0.2.2 53068 22
SSH_TTY=/dev/pts/0
LC_ALL=en_US
USER=vagrant
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
RBENV_ROOT=/opt/rbenv
SSH_AUTH_SOCK=/tmp/ssh-aDGJQD2812/agent.2812
MAIL=/var/mail/vagrant
PATH=/opt/rbenv/shims:/opt/rbenv/bin:/opt/rbenv/bin/rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/vagrant_ruby/bin
PWD=/home/vagrant
SHLVL=1
HOME=/home/vagrant
LOGNAME=vagrant
SSH_CONNECTION=10.0.2.2 53068 10.0.2.15 22
LC_CTYPE=UTF-8
LESSOPEN=| /usr/bin/lesspipe %s
LESSCLOSE=/usr/bin/lesspipe %s %s
_=/usr/bin/env

1
envSanal makineye girdikten sonra çıktı nedir ?
Chris Down

SSH_AUTH_SOCK=/tmp/ssh-aDGJQD2812/agent.2812. Çalışıyor gibi görünüyor. Diğer makinede çakışan bir SSH aracısı olmadığından ve anahtarın doğru olduğundan emin misiniz?
Chris Down

evet çalışıyor ssh -T git@github.comçalışır ve ssh-add -Lanahtarı gösterir ve ben sadece onlardan biri var. beyin dayak şeyler
TheLegend

1
@TheLegend Karanlıkta bir atış, ama ssh-aracının kesinlikle çalıştığını kontrol ettiniz mi?
djf

Yanıtlar:


10

Birkaç zorlu saatten sonra ilerledim

Vagrant.configure("2") do |config|
  config.ssh.private_key_path = "~/.ssh/id_rsa"
  config.ssh.forward_agent = true
end

config.ssh.private_key_pathyerel özel anahtarınız Özel anahtarınız yerel ssh-agent tarafından kullanılabilir olmalıdır. Kontrol edebilirsiniz ssh-add -L, listede yoksa ekleyin ssh-add ~/.ssh/id_rsa. Genel anahtarınızı ~/.ssh/authorized_keysVagrant VM'ye eklemeyi unutmayın .

Ardından vagrant destroyyeni vagrant yapılandırmasını kullanarak yeniden oluşturun. o zaman hem ev sahibi hem de vagrant kullanarak test çalışması gerekir

$ ssh -T git@github.com

vagrant ilk kez dönmeli

The authenticity of host 'github.com (204.232.175.90)' can't be established.
RSA key fingerprint is 16:27:ac:a5:7c:28:2d:36:63:2b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,205.232.175.93' (RSA) to the list of known hosts.

~/.ssh/authorized_keysVagrant VM'de size genel anahtar eklemediyseniz .

Orada sonra okumak gerekir

vagrant@precise64:~$ ssh -T git@github.com
Hi Ruberto! You've successfully authenticated, but GitHub does not provide shell access.

Bana yardımcı olan her şey için teşekkür ederim. senin yüzünden daha fazla kazmaya gittim :)


3
Benimki "Merhaba Ruberto!" Demiyor. Orada farklı bir isim söylerse sorun olmaz mı?
Darth Egregious

1
Evet @ user973810 Github'dan gelen bir yanıt, bu yüzden Github'a kaydettirdiğiniz isim olmalı.
TheLegend

1
Lütfen etkileri hakkında uyarın vagrant destroy. Bu yüzden sadece bir hafta iş kaybettim, sadece konfigürasyonu yok edeceğini düşündüm.
A1rPun
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.