diff options
| -rw-r--r-- | sshClient.py | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/sshClient.py b/sshClient.py index 62231a4..41dabb4 100644 --- a/sshClient.py +++ b/sshClient.py @@ -1,19 +1,24 @@ -import sys, paramiko +import sys, paramiko, getpass -def sshClient(hostname, username, password,cmd): +def sshClient(hostname,port,cmd,username,password): client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) - client.connect(hostname, username=username, password=password) - _stdin, _stdout,_stderr = client.exec_command(cmd) - print(_stdout.read().decode()) - client.close() + try: + client.connect(hostname,port=port,username=username, password=password) + _stdin, _stdout,_stderr = client.exec_command(cmd) + print(_stdout.read().decode()) + except paramiko.ssh_exception.AuthenticationException: + print("Erreur d'authenfication !") + finally: + client.close() if __name__ == "__main__": try: hostname = sys.argv[1] - username = sys.argv[2] - password = input("Mot de passe : ") + port = sys.argv[2] cmd = sys.argv[3] - sshClient(hostname, username, password, cmd) + username = input("Nom d'utilisateur : ") + password = getpass.getpass() + sshClient(hostname,port,cmd,username,password) except IndexError: print(f"{sys.argv[0]} demande des arguments") |
