X-Git-Url: https://pwan.org/git/?p=vagrant-dotfiles.git;a=blobdiff_plain;f=lib%2Fcopy_my_conf%2Fssh.rb;fp=lib%2Fcopy_my_conf%2Fssh.rb;h=bbe722df9cbf5e7eb5dc25fa619ecfa47350b748;hp=0000000000000000000000000000000000000000;hb=08b150e7415fcdaca5277bee264dda740369063f;hpb=d0fd407a03a85403a28f0d14d9f36cc264d07282 diff --git a/lib/copy_my_conf/ssh.rb b/lib/copy_my_conf/ssh.rb new file mode 100644 index 0000000..bbe722d --- /dev/null +++ b/lib/copy_my_conf/ssh.rb @@ -0,0 +1,20 @@ +module Vagrant + module Provisioners + class CopyMyConf < Base + class Ssh + def prepare vm, tmp_root + vm.share_folder("ssh", "#{tmp_root}/ssh", "~/.ssh") + end + + def provision channel, user_home, tmp_root + puts "Copying your ssh keys and config" + channel.sudo("mkdir -p #{tmp_root}/cached && chown -R vagrant #{tmp_root}/cached") + channel.execute("[[ -f #{user_home}/.ssh/authorized_keys ]] && mv #{user_home}/.ssh/authorized_keys #{tmp_root}/cached") + channel.execute("cp #{tmp_root}/ssh/* #{user_home}/.ssh") + channel.execute("cat #{tmp_root}/cached/authorized_keys >> #{user_home}/.ssh/authorized_keys") # So that `vagrant ssh` doesn't ask for password + end + + end + end + end +end