I need to run a script on a Linux VM with a sudoer user (root can't be used per corporate policy and we can't simply SSH as there's no IP yet).
Right now we do it like in the code below:
// Just a sample script
String SCRIPT = "#!/bin/bash\nsudo mkdir /test"
// Authentication properties
NamePasswordAuthentication namePasswordAuthentication = new NamePasswordAuthentication();
namePasswordAuthentication.setUsername(username);
namePasswordAuthentication.setPassword(password);
// Execution properties
GuestProgramSpec guestProgramSpec = new GuestProgramSpec();
guestProgramSpec.setProgramPath(scriptExecutionFolder);
guestProgramSpec.setArguments(script);
// Run script on remote host
GuestOperationsManager guestOperationsManager = serviceInstance.getGuestOperationsManager();
GuestProcessManager guestProcessManager = guestOperationsManager.getProcessManager(vm);
long pid = guestProcessManager.startProgramInGuest(namePasswordAuthentication, guestProgramSpec);
Thank you!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I need to run a script on a Linux VM with a sudoer user (root can't be used per corporate policy and we can't simply SSH as there's no IP yet).
Right now we do it like in the code below:
Thank you!