pip install paramiko
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接到服务器
client.connect("192.168.1.xxx", username="root", password="xxxxxx")
# 在同一个 shell 会话中执行 "cd ~" 和 "ls -l" 命令
stdin, stdout, stderr = client.exec_command("cd ~ && ls -l")
# 等待命令执行完成并获取退出状态
exit_status = stdout.channel.recv_exit_status()
# 打印命令输出和错误
output = stdout.read().decode('utf-8')
errors = stderr.read().decode('utf-8')
print("Exit status:", exit_status)
print("Output:")
print(output)
print("Errors:")
print(errors)
client.close()
--------------------登录docker,并执行命令---------------------------
import paramiko
# 请替换为您的 Linux 服务器地址、用户名、密码
server_address = "192.168.1.xxx"
username = "root"
password = "xxx"
# 替换为您的 Docker 容器名称或ID
container_name_or_id = "xxx"
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接到服务器
client.connect(server_address, username=username, password=password)
# 在 Docker 容器中执行命令,这里是一个示例命令 "ls /",您可以替换为其他命令
stdin, stdout, stderr = client.exec_command(f"docker exec {container_name_or_id} ls /")
# 等待命令执行完成并获取退出状态
exit_status = stdout.channel.recv_exit_status()
# 打印命令输出和错误
output = stdout.read().decode('utf-8')
errors = stderr.read().decode('utf-8')
print("Exit status:", exit_status)
print("Output:")
print(output)
print("Errors:")
print(errors)
client.close()