前端button点击后执行import ssh # 建立 SSH 连接 client = ssh.SSHClient() client.load_system_host_keys() client.connect('remote_host', username='username', password='password') # 执行 shell 命令 command = 'sh /text/text.sh' stdin, stdout, stderr = client.exec_command(command) # 输出执行结果 print(stdout.read().decode()) # 关闭 SSH 连接 client.close()
时间: 2024-03-13 09:45:55 浏览: 26
前端无法直接执行SSH连接和命令操作,你需要借助后端来实现此功能。具体实现方式如下:
1. 在后端中使用paramiko库建立SSH连接并执行命令:
```
import paramiko
def execute_command():
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('remote_host', username='username', password='password')
command = 'sh /text/text.sh'
stdin, stdout, stderr = ssh.exec_command(command)
output = stdout.read().decode()
ssh.close()
return output
```
2. 定义后端API,在API中调用execute_command()方法并返回结果:
```
from flask import Flask, jsonify
import paramiko
app = Flask(__name__)
@app.route('/execute_command', methods=['GET'])
def execute_command_api():
output = execute_command()
return jsonify({'output': output})
if __name__ == '__main__':
app.run()
```
3. 在前端中使用fetch()方法调用后端API:
```
const executeCommand = async () => {
const response = await fetch('/execute_command');
const result = await response.json();
console.log(result.output);
}
```
这样就可以实现前端按钮点击后执行SSH命令的功能了。需要注意的是,为了保证SSH连接的安全性,建议将SSH连接的用户名和密码等敏感信息存储在后端的环境变量中,在代码中通过读取环境变量来获取这些信息。