Sha256: 4badb19191a4f0bf5acd1f9059b6241903d87b395c418ac563d7b41ef20719c4

Contents?: true

Size: 1.15 KB

Versions: 9

Compression:

Stored size: 1.15 KB

Contents

module Vagrant
  module Command
    class SSHConfigCommand < NamedBase
      class_option :host, :type => :string, :default => nil, :aliases => "-h"
      register "ssh_config", "outputs .ssh/config valid syntax for connecting to this environment via ssh"

      def execute
        raise Errors::MultiVMTargetRequired, :command => "ssh_config" if target_vms.length > 1
        vm = target_vms.first
        raise Errors::VMNotCreatedError if !vm.created?

        # We need to fix the file permissions of the key if they aren't set
        # properly, otherwise if the user attempts to SSH in, it won't work!
        vm.ssh.check_key_permissions(vm.env.config.ssh.private_key_path)

        $stdout.puts(Util::TemplateRenderer.render("ssh_config", {
          :host_key => options[:host] || vm.name || "vagrant",
          :ssh_host => vm.env.config.ssh.host,
          :ssh_user => vm.env.config.ssh.username,
          :ssh_port => vm.ssh.port,
          :private_key_path => vm.env.config.ssh.private_key_path,
          :forward_agent => vm.env.config.ssh.forward_agent,
          :forward_x11   => vm.env.config.ssh.forward_x11
        }))
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
vagrantup-0.8.5 lib/vagrant/command/ssh_config.rb
vagrantup-0.8.4 lib/vagrant/command/ssh_config.rb
vagrantup-0.8.3 lib/vagrant/command/ssh_config.rb
vagrantup-0.8.2 lib/vagrant/command/ssh_config.rb
vagrantup-0.8.1 lib/vagrant/command/ssh_config.rb
vagrantup-0.8.0 lib/vagrant/command/ssh_config.rb
vagrant-0.8.5 lib/vagrant/command/ssh_config.rb
vagrant-0.8.2 lib/vagrant/command/ssh_config.rb
vagrant-0.8.1 lib/vagrant/command/ssh_config.rb