Paramiko
是一个用于 SSHv2 协议的 Python 实现,它允许你在 Python 程序中连接到远程服务器并执行命令。通过 Paramiko,你可以创建一个 SSH 客户端,连接到远程服务器,执行命令,并获取命令的输出。
Paramiko 主要用于以下几种类型的应用:
当你通过 Paramiko 执行远程命令时,可以通过检查命令的退出状态码来判断命令是否成功执行。通常,退出状态码为 0 表示命令成功,非 0 表示命令失败。
以下是一个示例代码,展示如何使用 Paramiko 执行远程命令并判断其成功与否:
import paramiko
def run_remote_command(hostname, username, password, command):
# 创建 SSH 客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
# 连接到远程服务器
ssh.connect(hostname, username=username, password=password)
# 执行命令
stdin, stdout, stderr = ssh.exec_command(command)
# 获取命令的退出状态码
exit_status = stdout.channel.recv_exit_status()
# 判断命令是否成功
if exit_status == 0:
return True
else:
return False
except Exception as e:
print(f"Error: {e}")
return False
finally:
# 关闭 SSH 连接
ssh.close()
# 示例调用
hostname = 'your_remote_host'
username = 'your_username'
password = 'your_password'
command = 'ls -l'
result = run_remote_command(hostname, username, password, command)
print(f"Command execution {'succeeded' if result else 'failed'}")
通过上述代码,你可以将远程 SSH 命令的输出求值为成功/失败布尔值。希望这对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云