利用Paramiko模块写一段与服务器进行交互的代码,要求获取服务器的命令行显示
时间: 2024-04-12 11:34:25 浏览: 94
当使用Paramiko与服务器进行交互时,你可以使用SSHClient类来建立连接并执行命令。以下是一个使用Paramiko获取服务器命令行显示的示例代码:
```python
import paramiko
def get_command_output(hostname, port, username, password, command):
# 创建SSH客户端
client = paramiko.SSHClient()
# 允许连接不在known_hosts文件中的主机
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
# 连接到远程主机
client.connect(hostname, port, username, password)
# 执行命令
stdin, stdout, stderr = client.exec_command(command)
# 读取命令输出
output = stdout.read().decode()
# 打印命令执行结果
print("Command Output:")
print(output)
except paramiko.AuthenticationException:
print("Authentication failed.")
except paramiko.SSHException as e:
print("SSH connection failed:", str(e))
finally:
# 关闭SSH连接
client.close()
# 设置远程主机的信息
hostname = 'your_hostname'
port = 22
username = 'your_username'
password = 'your_password'
command = 'ls -l' # 要执行的命令
# 调用函数获取命令输出
get_command_output(hostname, port, username, password, command)
```
在上述代码中,你需要替换`your_hostname`、`your_username`和`your_password`为实际的远程主机信息。`command`变量设置了要执行的命令,这里示例是执行`ls -l`命令。
该代码会连接到远程主机并执行指定的命令,然后获取命令的输出结果并打印出来。你可以根据需要修改代码,执行不同的命令或进行其他操作。
阅读全文