👁 Многие забывают о мощной библиотеке Paramiko, которая позволяет легко управлять удалёнными машинами через SSH. Это может быть полезно, если нужно автоматизировать деплой, управление конфигурациями или даже выполнять одноразовые задачи на нескольких серверах без необходимости вручную заходить на каждый.
📝 Пример автоматического деплоя:
import paramiko
def deploy_to_server(hostname, username, password, command):
try:
# Создаем SSH клиент
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# Подключаемся к серверу
client.connect(hostname, username=username, password=password)
# Выполняем команду на сервере
stdin, stdout, stderr = client.exec_command(command)
# Получаем результат
output = stdout.read().decode('utf-8')
error = stderr.read().decode('utf-8')
# Закрываем соединение
client.close()
# Возвращаем результат
if error:
return f"Ошибка: {error}"
return f"Результат: {output}"
except Exception as e:
return f"Не удалось подключиться: {str(e)}"
# Пример использования
hostname = "your.server.com"
username = "user"
password = "password"
command = "sudo systemctl restart myapp"
result = deploy_to_server(hostname, username, password, command)
print(result)📌 Как это работает:
Paramikoпозволяет подключаться к удалённым серверам поSSH, как если бы вы использовали терминал.- Используем
exec_commandдля выполнения команд на удалённом сервере, например, для перезапуска приложения или обновления системы.
❗️ Полезно в проектах, где необходимо быстро и безопасно развертывать обновления или запускать команды на нескольких серверах без вмешательства человека.
tags: #python #автоматизация



