使用 Python 执行 SSH 命令
从 Python 脚本中通过 SSH 执行远程命令可以增强自动化任务。实现此目的的一种方法是利用 paramiko 模块的功能。
问题: 该脚本需要能够使用已知密码在远程服务器上执行命令。如何在 Python 中实现自动化,而无需仅使用用户名和远程主机调用 ssh 命令?
答案:
建立 SSH 连接并远程执行命令使用 paramiko 的 Python,请按照以下步骤操作:
-
导入 paramiko 模块: import paramiko
-
创建 SSHClient 实例: ssh = paramiko .SSHClient()
-
连接远程服务器: ssh.connect(server, username=用户名,password=密码)
-
执行命令:
- ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute)
- 这将返回一个包含 stdin、stdout 和 stderr 流句柄的元组。
-
处理命令输出:
-
对于 SSH 密钥身份验证:
- k = paramiko.RSAKey.from_private_key_file(keyfilename) 或 k = paramiko.DSSKey.from_private_key_file(keyfilename)
- ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
- ssh.connect(主机名=主机,用户名=用户,pkey=k)
以上是如何使用 Paramiko 通过 Python 自动执行 SSH 命令?的详细内容。更多信息请关注PHP中文网其他相关文章!