Smail/test/tools/remote_ssh.py
smail bf1e69f480
Some checks are pending
Security Checks / security (push) Waiting to run
修复生产审查凭据泄露风险并增加持久投递队列
2026-09-17 10:17:09 +08:00

29 lines
841 B
Python

import os
import paramiko
def connect_remote(client):
host = os.environ.get("SMAIL_SSH_HOST", "47.108.78.12")
user = os.environ.get("SMAIL_SSH_USER", "root")
password = os.environ.get("SMAIL_SSH_PASSWORD") or None
key = os.environ.get("SMAIL_SSH_KEY") or None
client.load_system_host_keys()
known_hosts = os.environ.get("SMAIL_SSH_KNOWN_HOSTS")
if known_hosts:
client.load_host_keys(known_hosts)
client.set_missing_host_key_policy(paramiko.RejectPolicy())
client.connect(
host,
port=int(os.environ.get("SMAIL_SSH_PORT", "22")),
username=user,
password=password,
key_filename=key,
look_for_keys=password is None,
allow_agent=password is None,
timeout=10,
auth_timeout=10,
banner_timeout=10,
)
return client