diff --git a/rattail_fabric2/ssh.py b/rattail_fabric2/ssh.py index 2b27be0..6a88f48 100644 --- a/rattail_fabric2/ssh.py +++ b/rattail_fabric2/ssh.py @@ -49,16 +49,16 @@ def cache_host_key(c, host, port=None, user=None, **kwargs): # basic command failed, but in some cases that is simply b/c normal # commands are not allowed, although the ssh connection itself was # established okay. here we check for that situation. - if result.stderr.strip() != "Disallowed command": + if "Disallowed command" not in result.stderr: # okay then we now think that the ssh connection itself was not # made, which presumably means we *do* need to cache the host key, # so try that now cmd = 'ssh -o StrictHostKeyChecking=no {} {} whoami'.format(port, host) if user: - c.sudo(cmd, user=None if user == 'root' else user) + c.sudo(cmd, user=None if user == 'root' else user, warn=True) else: - c.run(cmd) + c.run(cmd, warn=True) def restart(c):