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