방랑자 상자에 새 SSH 키 쌍을 만드는 대신 에이전트 전달을 사용하여 호스트 컴퓨터에있는 키 쌍을 다시 사용하고 싶습니다 . Vagrantfile에서 config.ssh.forward_agent 를 TRUE로 설정 한 다음 VM을 재부팅하고 다음을 사용해 보았습니다.
vagrant ssh -- -A
...하지만 git checkout을 시도 할 때 여전히 비밀번호를 입력하라는 메시지가 표시됩니다. 내가 뭘 놓치고 있는지 아십니까?
방랑자 상자에 새 SSH 키 쌍을 만드는 대신 에이전트 전달을 사용하여 호스트 컴퓨터에있는 키 쌍을 다시 사용하고 싶습니다 . Vagrantfile에서 config.ssh.forward_agent 를 TRUE로 설정 한 다음 VM을 재부팅하고 다음을 사용해 보았습니다.
vagrant ssh -- -A
...하지만 git checkout을 시도 할 때 여전히 비밀번호를 입력하라는 메시지가 표시됩니다. 내가 뭘 놓치고 있는지 아십니까?
답변:
OS X Mountain Lion에서 vagrant 2를 사용하고 있습니다.
Vagrant.configure("2") do |config|
config.ssh.private_key_path = "~/.ssh/id_rsa"
config.ssh.forward_agent = true
end
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"
Vagrant는 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
) OS X 키 체인에 개인 키를 추가하는 것을 발견 했습니다 . 이 답변보기
config.ssh.forward_agent
는 구성 파일에 추가했음을 명확하게 나타내 므로이 답변은 어떤 새로운 정보를 제공합니까? 링크조차 이미 질문에 있습니다.
나는 1.4.3에서 위의 답변으로 작업했지만 1.5에서 작업을 중단했습니다. 이제 ssh-add
1.5로 완전히 작동 하려면 실행 해야합니다.
지금은 ansible 프로비저닝 스크립트에 다음 줄을 추가합니다.
- name: Make sure ssk keys are passed to guest.
local_action: command ssh-add
또한 내 설정의 요점을 만들었습니다 : https://gist.github.com/KyleJamesWalker/9538912
Windows를 사용하는 경우 Vagrant의 SSH 전달이 기본적으로 제대로 작동하지 않습니다 (net-ssh의 버그로 인해). 이 특정 Vagrant 버그 보고서를 참조하십시오 : https://github.com/mitchellh/vagrant/issues/1735
그러나 해결 방법이 있습니다! VagrantFile의 간단한 프로비저닝 스크립트를 통해 로컬 SSH 키를 Vagrant VM에 자동 복사하기 만하면됩니다. 예 : https://github.com/mitchellh/vagrant/issues/1735#issuecomment-25640783
최근 vagrant-aws
Vagrant 1.1.5 에서 플러그인을 사용해 보았을 때 SSH 에이전트 전달에 문제가 발생했습니다. 그것은 방랑은 강제 것을 밝혀 IdentitiesOnly=yes
로 변경하는 옵션없이 no
. 이로 인해 Vagrant Vagrantfile
는 AWS 공급자에 대해 나열된 개인 키만 볼 수있었습니다 .
나는 블로그 포스트 에 우리의 경험을 썼다 . 언젠가는 풀 리퀘스트로 바뀔 수 있습니다.
Vagrant up
있습니까? 지금은 수동으로 컴퓨터를 만들 로그인 후 /home/vagrant/.ssh/authorized_keys 내 공개 키를 추가해야
실제 문제는 기본 포트 포워드로 127.0.0.1:2222를 사용하는 Vagrant입니다. 하나를 추가 할 수 있습니다 (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 주소로 변경, dud)가 제대로 작동합니다. 고마워요 그냥 저를 Leifeng이라고 불러주세요!
Windows에서 문제는 Vagrant가 git-bash의 ssh-agent와 통신하는 방법을 모른다는 것입니다. 그러나 PuTTY의 Pageant를 사용하는 방법을 알고 있습니다. 따라서 Pageant가 실행 중이고 SSH 키를로드하고 config.ssh.forward_agent를 설정 한 경우 작동합니다.
자세한 내용은 이 주석 을 참조하십시오.
Pageant를 사용하는 경우 Windows에서 SSH 키를 복사하도록 Vagrantfile을 업데이트하는 해결 방법 이 더 이상 필요하지 않습니다.