Saltar al contenido

¿Cómo agrego mi propia clave pública a Vagrant VM?

Solución:

Puede usar el módulo de archivo central de Ruby, así:

  config.vm.provision "shell" do |s|
    ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
    s.inline = <<-SHELL
      echo #{ssh_pub_key} >> /home/vagrant/.ssh/authorized_keys
      echo #{ssh_pub_key} >> /root/.ssh/authorized_keys
    SHELL
  end

Este ejemplo de trabajo se adjunta ~/.ssh/id_rsa.pub al ~/.ssh/authorized_keys del usuario vagabundo y root, lo que le permitirá utilizar su clave SSH existente.

Copiar la clave pública deseada entraría directamente en la fase de aprovisionamiento. La respuesta exacta depende del aprovisionamiento que desee utilizar (shell, Chef, Puppet, etc.). El más trivial sería un file aprovisionador de la clave, algo a lo largo de esto:

config.vm.provision "file", source: "~/.ssh/id_rsa.pub", destination: "~/.ssh/me.pub"

Bueno, en realidad necesitas agregar a las claves_autorizadas. Utilice el aprovisionador de shell, así:

config.vm.provision "shell", inline: <<-SHELL
  cat /home/vagrant/.ssh/me.pub >> /home/vagrant/.ssh/authorized_keys
SHELL
end

También puede utilizar un verdadero aprovisionador, como Puppet. Por ejemplo, consulte Administrar claves autorizadas SSH con Puppet.

Hay una forma más “elegante” de lograr lo que quieres hacer. Puede encontrar la clave privada existente y usarla en lugar de pasar por la molestia de agregar su clave pública.

Proceda así para ver la ruta a la clave privada existente (busque a continuación para IdentityFile):

correr

 vagrant ssh-config 

resultado:

$ vagrant ssh-config
Host magento2.vagrant150
  HostName 127.0.0.1
  User vagrant
  Port 3150
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile "/Users/madismanni/m2/vagrant-magento/.vagrant/machines/magento2.vagrant150/virtualbox/private_key"
  IdentitiesOnly yes
  LogLevel FATAL

Luego puede usar la clave privada de esta manera, tenga en cuenta también el interruptor para desactivar la autenticación de contraseña

ssh -i /Users/madismanni/m2/vagrant-magento/.vagrant/machines/magento2.vagrant150/virtualbox/private_key -o PasswordAuthentication=no [email protected] -p 3150
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *