add ssh cert login installation
This commit is contained in:
1 parent
42e4bcedfb
commit
cbeaded727
2 files changed
+15
-3
No files matched your search
@@ -259,6 +259,10 @@ class MainIf:
|
||||
return self.carrier, self.ip, self.hostnameresult[0], self.gateway
|
||||
|
||||
|
||||
class Failure(str):
|
||||
returncode = None
|
||||
|
||||
|
||||
def unix_cmd(cmd, *args, execute=None, stdout=PIPE, sudo=True):
|
||||
command = cmd.split() + list(args)
|
||||
if command[0] == 'systemctl' and not sudo:
|
||||
@@ -269,14 +273,20 @@ def unix_cmd(cmd, *args, execute=None, stdout=PIPE, sudo=True):
|
||||
if execute:
|
||||
print('$', *command)
|
||||
try:
|
||||
result = Popen(command, stdout=stdout).communicate()[0]
|
||||
proc = Popen(command, stdout=stdout)
|
||||
result = proc.communicate()[0]
|
||||
output = (result or b'').decode()
|
||||
if proc.returncode:
|
||||
failure = Failure(output)
|
||||
failure.returncode = proc.returncode
|
||||
return failure
|
||||
return (result or b'').decode()
|
||||
except Exception as e:
|
||||
print(f'error {e!r}')
|
||||
finally:
|
||||
pass
|
||||
return Failure(repr(e))
|
||||
else:
|
||||
print('>', *command)
|
||||
return ''
|
||||
|
||||
|
||||
def check_service(service, set_on=None, execute=None, as_root=True):
|
||||
|
||||
Reference in new issue
Block a user