Windows 호스트 OS, Vagrant Ubuntu Guest OS 및 Keepass/Keeagent와 함께 에이전트 전달을 사용하는 SSH

Windows 호스트 OS, Vagrant Ubuntu Guest OS 및 Keepass/Keeagent와 함께 에이전트 전달을 사용하는 SSH

의지lan-example.com: 어떤 개발 환경에서도 배포가 가능합니다 . 가상 OS, 단일 OS 시스템에서 직접 또는 Keepass에 저장된 하나의 SSH 키를 사용하여 인터넷을 통해 가능합니다. 현재는 자체 키를 명시적으로 생성하고 각 배포 서버에서 인증하지 않는 한 Vagrant OS 내에서 그렇게 할 수 없습니다. 내가 원하는 것을 수행하는 방법은 사용자 에이전트 전달을 통해서라고 생각합니다. 그렇죠?


호스트 OS

  • 윈도우 7 x64
  • puttygen이 생성한 SSH 키:C:\Users\Administrator\.ssh\id_rsa.ppk
  • 내 SSH 키를 저장하는 Keeagent를 사용하여 Keeppass를 사용하세요. Keeagent가 '에이전트' 모드로 설정되어 있습니다.
  • pageant.exe가 설치되었지만 실행되고 있지 않습니다.
  • 내 키를 사용하여 외부/내부 LAN 서버에 연결하려는 경우 Putty는 Keeagent를 따릅니다. Putty는 구성에 개인 키 위치를 저장하지 않습니다.

C:\Users\Administrator.ssh\config

Host 192.168.55.2
  ForwardAgent yes

방랑 파일

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.network :private_network, ip: '192.168.55.2'
  config.ssh.forward_agent = true
  # Why would I need to set this if Keeagent is handling things?
  config.ssh.private_key_path = '~/.ssh/id_rsa_jake_mitchell.ppk'
end

게스트 OS(Vagrant)

  • 우분투 x64
  • 192.168.55.2, 호스트를 통해서만 액세스 가능
  • SSH 키가 없습니다 /home/vagrant/.ssh(제거했습니다). 이는 호스트 OS(Keeagent)를 통한 사용자 에이전트 전달이 키 사용을 처리하도록 하는 것입니다.

LAN 웹 호스트(인트라넷 웹사이트)

  • 도메인이 다음과 같다고 가정해 보겠습니다.lan-example.com
  • id_rsa.ppk 공개 키만 사용하여 SSH 비밀번호 없는 로그인을 허용합니다.
  • 192.168.0.2
  • 사용자 에이전트 전달이 sshd에서 활성화되었습니다.

문제:

작동 방식(호스트 OS 사용): lan-example.comSSH 키를 명시적으로 참조할 필요 없이 Putty에 연결합니다.

작동하지 않는 것(게스트 OS 사용): 사용할 키가 없다고 표시되기 때문입니다.ssh -v [email protected]

나는 그것에 대해 뭔가를 알아 차렸다.Keeagent 베타 버전그러면 SSH_AUTH_SOCK을 설정할 수 있습니다. 저는 그렇게 하고 게스트 OS가 파일을 읽을 수 있도록 NFS 공유를 설정했습니다. 그러나 이것은 아무것도 바꾸지 않습니다. 이러한 유형의 환경에서는 에이전트 전달이 어떻게 작동합니까? 이것이 실패하게 만드는 Windows의 차이점은 무엇입니까?

답변1

에이전트 전달이 활성화된 호스트 OS(Windows의 PuTTY 사용)에서 SSH를 통해 연결해야 합니다. 그런 다음 해당 세션에서 게스트 OS에서 서버로 SSH를 실행합니다.

PuTTY 에이전트 전달 설정

관련 정보