diff --git a/tests/test_backup.py b/tests/test_backup.py
index d95ba3576e387cb819e6430ec5ddce9ffa9ab7bf..37cd11ca0cea7bee3558d0bbb9b174cd2772c477 100755
--- a/tests/test_backup.py
+++ b/tests/test_backup.py
@@ -31,17 +31,18 @@ def test_ssh(ip):
     cmd = 'ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=no %s ls /tmp' % ip
     print('Connecting to MediaVault: %s' % cmd)
     try:
-        subprocess.check_output(cmd, shell=True, timeout=2)
+        subprocess.check_output(cmd, shell=True, timeout=5)
         print('%sLogged in successfully%s' % (GREEN, DEF))
     except subprocess.CalledProcessError:
-        # do some diagnostics
+        print('%sFailed to login using SSH, run ssh-copy-id %s %s' % (RED, ip, DEF))
+        return False
+    except subprocess.TimeoutExpired:
         try:
             cmd_port = 'nc -z -w2 {} 22'.format(ip)
             subprocess.check_output(cmd_port, shell=True, timeout=5)
-        except subprocess.CalledProcessError:
+        except Exception:
             cmd_ping = 'ping -c2 -w4 {}'.format(ip)
-            subprocess.check_output(cmd_ping, shell=True, timeout=5)
-        print('%sFailed to login using SSH, run ssh-copy-id %s %s' % (RED, ip, DEF))
+            subprocess.check_output(cmd_ping, shell=True, timeout=15)
         return False
     return True
 
diff --git a/tests/test_mediaworker.py b/tests/test_mediaworker.py
index fbeb064cec940d48b8fb516def7a2e864f3955a8..3d04a30c73eae4e6147fe2580544667905588c0c 100755
--- a/tests/test_mediaworker.py
+++ b/tests/test_mediaworker.py
@@ -40,14 +40,15 @@ def check_ssh(ip):
         subprocess.check_output(cmd, shell=True, timeout=5)
         print('%sLogged in successfully in "%s".%s' % (GREEN, ip, DEF))
     except subprocess.CalledProcessError:
-        # do some diagnostics
+        print('%sFailed to login using SSH, run "ssh-copy-id %s".%s' % (RED, ip, DEF))
+        return False
+    except subprocess.TimeoutExpired:
         try:
             cmd_port = 'nc -z -w2 {} 22'.format(ip)
             subprocess.check_output(cmd_port, shell=True, timeout=5)
-        except subprocess.CalledProcessError:
+        except Exception:
             cmd_ping = 'ping -c2 -w4 {}'.format(ip)
-            subprocess.check_output(cmd_ping, shell=True, timeout=5)
-        print('%sFailed to login using SSH, run "ssh-copy-id %s".%s' % (RED, ip, DEF))
+            subprocess.check_output(cmd_ping, shell=True, timeout=15)
         return False
     return True