Merge pull request #12740 from rbrunckhorst/solaris-sed-fix

Fix sed command on Solaris guest
This commit is contained in:
Chris Roberts 2022-11-08 15:09:08 -08:00 committed by GitHub
commit 1dd008d65e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,14 +5,14 @@ module VagrantPlugins
module Cap
class RemovePublicKey
def self.remove_public_key(machine, contents)
# TODO: code is identical to linux/cap/remove_public_key
# "sed -i" is specific to GNU sed and is not a posix standard option
contents = contents.chomp
contents = Vagrant::Util::ShellQuote.escape(contents, "'")
machine.communicate.tap do |comm|
if comm.test("test -f ~/.ssh/authorized_keys")
comm.execute(
"sed -i '/^.*#{contents}.*$/d' ~/.ssh/authorized_keys")
"cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.temp && sed '/^.*#{contents}.*$/d' ~/.ssh/authorized_keys.temp > ~/.ssh/authorized_keys && rm ~/.ssh/authorized_keys.temp")
end
end
end