SSH usando o Agente de Encaminhamento com o sistema operacional Windows Host, o sistema operacional Vagrant Ubuntu Guest e o Keepass / Keeagent

0

Intenção : poder implantar em lan-example.com de qualquer ambiente de desenvolvimento; seja diretamente a partir do sistema operacional virtual, ou de qualquer sistema de sistema operacional único, ou mesmo através da Internet usando uma chave SSH armazenada no Keepass. Atualmente, não consigo fazer isso a partir do sistema operacional do Vagrant, a menos que eu gere explicitamente sua própria chave e autorize-a em cada um dos meus servidores de implantação. Eu acredito que a maneira de fazer o que eu quero é através do encaminhamento de agente do usuário, sim?

Sistema operacional do host

  • Windows 7 x64
  • Chave SSH gerada por puttygen: C:\Users\Administrator\.ssh\id_rsa.ppk
  • Keepass com Keeagent armazenando minha chave SSH. Keeagent está definido para o modo "Agente"
  • pageant.exe está instalado mas não está em execução
  • Se eu quiser conectar-me a servidores LAN externos / internos usando minha chave, o Putty adia para o Keeagent - O Putty não armazena os locais da chave privada em sua configuração.

C: \ Users \ Administrator.ssh \ config

Host 192.168.55.2
  ForwardAgent yes

Vagrantfile

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

Sistema de convidado (Vagrant)

  • Ubuntu x64
  • 192.168.55.2, acessível somente por host
  • Não existem chaves SSH em /home/vagrant/.ssh (removi-as). A intenção é permitir que o User Agent Forwarding através do sistema operacional host (Keeagent) cuide do uso da chave

LAN Web Host (sites da intranet)

  • Digamos que seu domínio seja lan-example.com
  • Permite login sem senha do SSH usando apenas a chave pública id_rsa.ppk
  • 192.168.0.2
  • O encaminhamento do agente de usuário está ativado em sshd

Problema:

O que funciona (usando o Host OS): Putty, conectando-se a lan-example.com sem a necessidade de referenciar explicitamente a chave SSH.

O que não funciona (usando o sistema operacional convidado): ssh -v [email protected] , pois mostra que não há chaves para usar.

Eu notei algo sobre a versão beta do Keeagent que me permite definir o SSH_AUTH_SOCK. Eu fiz isso e configurei um compartilhamento NFS que permite que o sistema operacional convidado leia o arquivo; no entanto isso não muda nada. Como o encaminhamento de agentes funciona mesmo nesse tipo de ambiente? O que há de diferente no Windows que faz com que isso falhe?

    
por JakeTheSnake 27.01.2015 / 16:19

1 resposta

1

Você precisa do ssh do sistema operacional host (usando o PuTTY no Windows) com o encaminhamento de agentes ativado. Então dessa sessão, ssh do sistema operacional convidado para o servidor.

    
por 10.07.2015 / 06:15