Sha256: c050b1065839b4028ee5fbdef9faf2e96cc2e2012734eca20791101c85282f6a

Contents?: true

Size: 666 Bytes

Versions: 8

Compression:

Stored size: 666 Bytes

Contents

require "vagrant/util/shell_quote"

module VagrantPlugins
  module GuestLinux
    module Cap
      class RemovePublicKey
        def self.remove_public_key(machine, contents)
          contents = contents.chomp
          contents = Vagrant::Util::ShellQuote.escape(contents, "'")

          machine.communicate.tap do |comm|
            if comm.test("test -f ~/.ssh/authorized_keys")
              comm.execute(<<SCRIPT)
sed -e '/^.*#{contents}.*$/d' ~/.ssh/authorized_keys > ~/.ssh/authorized_keys.new
mv ~/.ssh/authorized_keys.new ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
SCRIPT
            end
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
vagrant-compose-yaml-0.1.3 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/guests/linux/cap/remove_public_key.rb
vagrant-compose-yaml-0.1.2 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/guests/linux/cap/remove_public_key.rb
vagrant-compose-yaml-0.1.1 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/guests/linux/cap/remove_public_key.rb
vagrant-compose-yaml-0.1.0 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/plugins/guests/linux/cap/remove_public_key.rb
vagrant-unbundled-1.8.4.2 plugins/guests/linux/cap/remove_public_key.rb
vagrant-unbundled-1.8.4.1 plugins/guests/linux/cap/remove_public_key.rb
vagrant-unbundled-1.8.1.2 plugins/guests/linux/cap/remove_public_key.rb
vagrant-unbundled-1.8.1.1 plugins/guests/linux/cap/remove_public_key.rb