python+Flask+paramiko+html实现本地windows和远程ssh linux命令行执行webterminal代码
代码语言:python
所属分类:其他
代码描述:python+Flask+paramiko+html实现本地windows和远程ssh linux命令行执行webterminal代码,在浏览器中就能操作本地电脑的命令行提示符,还能通过ssh远程连接linux进行命令输入,支持control+c终止命令的执行,流式输入,实时输出反馈。
代码标签: python Flask paramiko html 本地 windows 远程 ssh linux
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
import os
from flask import Flask, render_template_string, Response, jsonify, request
import subprocess
import paramiko
import psutil
from threading import Lock
app = Flask(__name__)
# 用于存储活动进程和 SSH 会话
active_processes = {}
active_ssh_sessions = {}
process_lock = Lock()
# HTML 模板(前端界面)
HTML_TEMPLATE = '''
<!DOCTYPE html>
<html>
<head>
<title>Web Terminal</title>
<style>
body { margin: 0; padding: 20px; background: #1e1e1e; }
#terminal-container {
width: 800px; height: 500px; background: #000; color: #0f0;
padding: 10px; font-family: 'Consolas', monospace; border-radius: 5px;
display: flex; flex-direction: column;
}
#terminal-output {
flex-grow: 1; overflow-y: auto; margin-bottom: 10px; white-space: pre-wrap;
}
#input-container { display: flex; align-items: center; padding: 5px 0; }
#current-path { color: #4CAF50; margin-right: 5px; white-space: nowrap; }
#command-input {
flex-grow: 1; background: transparent; color: #0f0; border: none;
outline: none; font-family: 'Consolas', monospace; font-size: 14px;
}
.connection-form { margin-bottom: 20px; }
.connection-form input {
margin: 5px; padding: 5px; background: #2d2d2d; color: #fff;
border: 1px solid #3d3d3d; border-radius: 3px;
}
.connection-form button {
padding: 5px 10px; background: #4CAF50; color: white; border: none;
border-radius: 3px; cursor: pointer;
}
.connection-form button:hover { background: #45a049; }
</style>
</head>
<body>
<div class="connection-form">
<input type="text" id="host" placeholder="Host" value="localhost">
<input type="text" id="username" placeholder="Username">
<input type="password" id="password" placeholder="Password">
.........完整代码请登录后点击上方下载按钮下载查看















网友评论0