webssh-go 是一个基于 Go + WebSocket + SSH 实现的轻量级 Web SSH 终端系统。通过浏览器即可安全地连接远程服务器,获得与本地终端一致的真实交互体验,无需安装任何客户端。
go install cnb.cool/zhiqiangwang/go-webssh@main
./webssh
http://localhost:8080connect: 建立 SSH 连接data: 传输终端输入数据resize: 调整终端窗口大小golang.org/x/crypto/ssh 库实现 SSH 连接在 main.go 文件中可以修改以下配置:
const (
serverAddr = ":8080" // 服务器监听地址
readTimeout = 15 * time.Second // 读取超时
writeTimeout = 15 * time.Second // 写入超时
idleTimeout = 60 * time.Second // 空闲超时
)
在 ws/ws.go 文件中可以修改 WebSocket 配置:
var upgrader = websocket.Upgrader{
ReadBufferSize: 1024, // 读取缓冲区大小
WriteBufferSize: 1024, // 写入缓冲区大小
CheckOrigin: func(r *http.Request) bool {
return true // 允许所有来源的请求
},
}