def test(user, host, port, key_files): local_keys = load_local_keys(key_files) ssh_controller = SSHController(user, host, port) try: remote_keys = [k for k in get_authorized_keys(ssh_controller) if k] except NoSuchFileError: logging.info('{c.user}@{c.host}:{c.port} - not found authorized_keys' .format(c=ssh_controller)) remote_keys = [] oks = [] for key_file in key_files: ok = local_keys[key_file] in remote_keys oks.append(ok) print('{0}: {1}'.format(key_file, 'ok' if ok else 'fail')) return not int(all(oks))
def test(user, host, port, key_files): local_keys = load_local_keys(key_files) ssh_controller = SSHController(user, host, port) try: remote_keys = [k for k in get_authorized_keys(ssh_controller) if k] except NoSuchFileError: logging.info( '{c.user}@{c.host}:{c.port} - not found authorized_keys'.format( c=ssh_controller)) remote_keys = [] oks = [] for key_file in key_files: ok = local_keys[key_file] in remote_keys oks.append(ok) print('{0}: {1}'.format(key_file, 'ok' if ok else 'fail')) return not int(all(oks))
def add(user, host, port, key_files): local_keys = load_local_keys(key_files) ssh_controller = SSHController(user, host, port) try: remote_keys = get_authorized_keys(ssh_controller) except sh.ErrorReturnCode_1: sys.exit(1) except NoSuchFileError: create_authorized_keys_file(ssh_controller) remote_keys = [] new_keys = [] already_keys = [] for key_file in key_files: key = local_keys[key_file] if key not in remote_keys: new_keys.append(key) else: already_keys.append(key_file) if already_keys: logging.info( '{c.user}@{c.host}:{c.port} - already in authorized_keys: "{0}"'. format('", "'.join(already_keys), c=ssh_controller)) if new_keys: keys = remote_keys + new_keys scp_controller = SCPController(user, host, port) scp_controller.password = ssh_controller.password try: set_authorized_keys(scp_controller, keys) except sh.ErrorReturnCode_1: sys.exit(1)
def add(user, host, port, key_files): local_keys = load_local_keys(key_files) ssh_controller = SSHController(user, host, port) try: remote_keys = get_authorized_keys(ssh_controller) except sh.ErrorReturnCode_1: sys.exit(1) except NoSuchFileError: create_authorized_keys_file(ssh_controller) remote_keys = [] new_keys = [] already_keys = [] for key_file in key_files: key = local_keys[key_file] if key not in remote_keys: new_keys.append(key) else: already_keys.append(key_file) if already_keys: logging.info('{c.user}@{c.host}:{c.port} - already in authorized_keys: "{0}"' .format('", "'.join(already_keys), c=ssh_controller)) if new_keys: keys = remote_keys + new_keys scp_controller = SCPController(user, host, port) scp_controller.password = ssh_controller.password try: set_authorized_keys(scp_controller, keys) except sh.ErrorReturnCode_1: sys.exit(1)