Guest User

Untitled

a guest
Feb 5th, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. from paramiko import SSHClient, AutoAddPolicy
  2. import argparse
  3.  
  4. if __name__ == "__main__":
  5. parser = argparse.ArgumentParser(description='Execute ls on remote host')
  6. parser.add_argument('--host', dest='host', type=str, default=None, help='Remote host')
  7. parser.add_argument('--user', dest='user', type=str, default=None, help='Remote user')
  8. parser.add_argument('--passwd', dest='passwd', type=str, default=None, help='Remote pass')
  9. parser.add_argument('--ssh-key', dest='ssh_key', type=str, default=None, help='Public SSH Key')
  10. _args = parser.parse_args()
  11.  
  12. ssh = SSHClient()
  13. ssh.set_missing_host_key_policy(AutoAddPolicy())
  14. ssh.load_system_host_keys()
  15.  
  16. ssh.connect(_args.host, username=_args.user, password=_args.passwd, look_for_keys=False, allow_agent=False)
  17. transport = ssh.get_transport()
  18. channel = transport.open_session()
  19. channel.setblocking(1)
  20.  
  21. with open(_args.ssh_key, "r") as _file:
  22. key = _file.readline().strip()
  23.  
  24. command = 'echo "%s" >> ~/.ssh/authorized_keys' % key
  25. stdin, stdout, stderr = ssh.exec_command(command)
  26.  
  27. if stderr.readlines():
  28. print("There was something wrong with your request")
  29. for line in stderr.readlines():
  30. print(line)
  31. else:
  32. print("Your key was copied succesfully")
Add Comment
Please, Sign In to add comment