Atualmente estou olhando para a criação de um Vagrant ambiente na minha máquina Mac, para que eu possa correr vagrant up
e vai em seguida, instalar rbenv
e ruby
e todos necessidade I. Então eu tenho um script Bash que buscará todos os meus repositórios no github.
A única coisa é que meu novo vagabundo vm agora precisa gerar uma chave ssh e vinculá-la à minha conta do Github. Isso pode ser complicado. Especialmente porque eu gostaria de compartilhar meu arquivo do Vagrant com todos aqueles que têm acesso aos nossos repositórios para que eles possam fazer o mesmo.
Por isso, pensei em tentar encaminhar meus hosts ssh para a VM para que a VM possa encaminhar meu host ssh para o Github. Seguindo este artigo: Passo a passo do Githubs , defino meus hosts ssh config:
Host localhost
ForwardAgent yes
e definido no meu arquivo vagrant
Vagrant.configure("2") do |config|
config.ssh.forward_agent = true
...
end
e quando entro na minha VM e executo o seguinte comando, recebo este erro:
$ ssh -T [email protected]`
Permission denied (publickey)
Existe alguém que tentou uma configuração semelhante? A VM é uma caixa64 precisa.
EDITAR:
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
fonte
env
uma vez que você entrou na máquina virtual?SSH_AUTH_SOCK=/tmp/ssh-aDGJQD2812/agent.2812
. Parece estar funcionando. Tem certeza de que não possui um agente SSH conflitante na outra máquina e a chave está correta?ssh -T [email protected]
funciona essh-add -L
mostra a chave e eu só tenho um deles. coisas contundentes no cérebroRespostas:
Depois de algumas horas cansativas, fiz progressos
config.ssh.private_key_path
é sua chave privada local Sua chave privada deve estar disponível para o agente ssh local. Você pode verificar comssh-add -L
, se não estiver listado, adicioná-lossh-add ~/.ssh/id_rsa
. Não esqueça de adicionar sua chave pública~/.ssh/authorized_keys
na VM do Vagrant.Em seguida,
vagrant destroy
reconstrua-o usando a nova configuração vagrant. então deve funcionar testar o hospedeiro e o vagabundo usandovagabundo deve retornar pela primeira vez
Se você não adicionou sua chave pública
~/.ssh/authorized_keys
na VM do Vagrant.Lá depois deve ler como
Obrigado a todos que me ajudaram. foi por sua causa que eu fui cavando mais :)
fonte
vagrant destroy
. Acabei de perder uma semana de trabalho por causa disso, pensei que isso destruiria apenas a configuração.