diff --git a/devlib/utils/ssh.py b/devlib/utils/ssh.py
index e1b4381..8bf17c0 100644
--- a/devlib/utils/ssh.py
+++ b/devlib/utils/ssh.py
@@ -177,10 +177,12 @@ class SshConnection(object):
         except EOF:
             raise TargetError('Connection lost.')
 
-    def background(self, command, stdout=subprocess.PIPE, stderr=subprocess.PIPE):
+    def background(self, command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, as_root=False):
         try:
             port_string = '-p {}'.format(self.port) if self.port else ''
             keyfile_string = '-i {}'.format(self.keyfile) if self.keyfile else ''
+            if as_root:
+                command = "sudo -- sh -c '{}'".format(command)
             command = '{} {} {} {}@{} {}'.format(ssh, keyfile_string, port_string, self.username, self.host, command)
             logger.debug(command)
             if self.password: