48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
import paramiko
|
|
|
|
def create_file_on_remote(hostname, port, username, password, remote_path):
|
|
try:
|
|
# Création d'un client SSH
|
|
client = paramiko.SSHClient()
|
|
# Chargement des clés d'hôte
|
|
client.load_system_host_keys()
|
|
# Autorisation de l'ajout d'hôtes non connus
|
|
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
|
|
# Connexion au serveur SSH
|
|
print(f"Connexion à {hostname}:{port} en tant que {username}...")
|
|
client.connect(hostname, port=port, username=username, password=password)
|
|
|
|
# Exécution de la commande pour créer le fichier
|
|
command = f'touch {remote_path}'
|
|
stdin, stdout, stderr = client.exec_command(command)
|
|
|
|
# Vérification de la sortie et des erreurs
|
|
stdout_lines = stdout.readlines()
|
|
stderr_lines = stderr.readlines()
|
|
|
|
if stdout_lines:
|
|
print("Sortie standard :")
|
|
print("".join(stdout_lines))
|
|
if stderr_lines:
|
|
print("Erreurs :")
|
|
print("".join(stderr_lines))
|
|
|
|
print(f"Le fichier '{remote_path}' a été créé avec succès sur {hostname}.")
|
|
|
|
except Exception as e:
|
|
print(f"Une erreur s'est produite : {e}")
|
|
finally:
|
|
# Fermeture de la connexion
|
|
client.close()
|
|
|
|
if __name__ == "__main__":
|
|
# Paramètres de connexion
|
|
hostname = '192.168.1.10' # Remplace par l'adresse IP ou le nom d'hôte de la machine distante
|
|
port = 22 # Port SSH (par défaut 22)
|
|
username = 'votre_utilisateur'
|
|
password = 'votre_mot_de_passe'
|
|
remote_path = '/HelloWorld' # Chemin où créer le fichier
|
|
|
|
create_file_on_remote(hostname, port, username, password, remote_path)
|