Skip to content

Feature: SSH 远程会话集成 #13

Description

@Ding262

功能描述

内置 SSH 集成,允许用户直接在 muxkit 中管理和连接远程会话。

使用场景

  • 管理多台服务器的终端会话
  • 断线后自动重连
  • 保存 SSH 连接配置
  • 在本地复用远程会话

建议实现

连接配置文件

# ~/.config/muxkit/ssh_hosts.yaml
hosts:
  - name: prod-server
    host: 192.168.1.100
    user: deploy
    port: 22
    identity: ~/.ssh/id_rsa
    
  - name: dev-server
    host: dev.example.com
    user: developer

命令行接口

# 连接到远程并创建新 session
muxkit ssh prod-server

# 列出已配置的主机
muxkit ssh --list

# 连接到现有的远程 session
muxkit ssh dev-server -a session-name

自动重连

  • 网络断开时自动尝试重连
  • 重连间隔可配置(指数退避)
  • 重连后恢复 session 状态

SSH Agent 转发

支持 SSH Agent 转发,方便从跳板机继续连接其他服务器。

进阶功能(可选)

  1. 跳板机支持: 通过堡垒机连接目标服务器
  2. SFTP 集成: 在 pane 中直接传输文件
  3. 端口转发管理: 可视化配置隧道
  4. 连接池: 复用 SSH 连接减少开销

技术实现

基于 libssh2 或直接调用系统 ssh 命令。考虑到轻量性,可以优先使用系统 ssh。

优先级

低 - 这是一个较大的功能,可以作为长期目标


相关项目参考

  • mosh (Mobile Shell)
  • Eternal Terminal
  • tmux 的 SSH 使用模式

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions