7 votes

Comment livrer les clés ssh privées pour une machine virtuelle contrôlée par Vagrant ?

Par défaut, Vagrant utilise une clé privée non sécurisée lors de la connexion à la machine avec vagrant ssh.

Vagrant prend en charge la spécification d'une clé privée différente via private_key_path cependant je ne suis pas clair sur la meilleure façon de livrer cette clé avec le fichier de la boîte. Les tutoriels et sites Web que j'ai trouvés supposent généralement que les utilisateurs ont installé la clé dans un endroit commun.

Cependant, j'aimerais livrer simplement un fichier de la boîte sans étapes supplémentaires de configuration.

Puis-je le faire uniquement avec la clé SSH standard de Vagrant ?

7voto

natevw Points 3543

La clé privée par défaut est livrée avec Vagrant, donc il n'y a pas de démarches supplémentaires. Il suffit d'utiliser la clé publique correspondante dans la VM. Ajouter et expédier une clé personnalisée peut seulement avoir du sens lorsque vous contrôlez la distribution de la boîte, et que vous ne voulez pas que quelqu'un d'autre puisse se connecter aux instances en cours d'exécution. Même dans ce cas, je probabablement installerais et configurerais une nouvelle clé lors d'une étape de provisionnement à la place.

Cela dit, le fichier de boîte Vagrant est une archive zip ou (optionnellement compressée avec gzip). Vous pouvez inclure la clé privée par exemple dans le répertoire de niveau supérieur, et ajouter la clé publique aux clés autorisées de l'utilisateur ssh de Vagrant dans la VM elle-même.

Ensuite, pour configurer Vagrant pour utiliser la clé que vous incluez un Vagrantfile dans la boîte avec un contenu comme celui-ci :

Vagrant.configure("2") do |config|
  config.ssh.private_key_path = File.expand_path("../my_secret_key", __FILE__)
end

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X