新奇项目推介:用 QUIC 加速 SSH: francoismichel/ssh3 软件试用

国产用户在透过 SSH 管理国际服务器时常常被延迟搞得十分沮丧,虽然可以透过ProxyCommand /bin/nc -X 5 -x 127.0.0.1:port %h %p的方式把 SSH 的 TCP 流量包裹在其他任意协议里面,但纯 QUIC/UDP 访问远程服务器终端的方式也许有它的优点.

Mosh 使用 UDP,但依赖于 OpenSSH 进行初次会话的认证.
本文介绍的 SSH3 可完全独立于 OpenSSH server/client使用,而且使用起来非常方便.(是否提高远程终端的反应性待观察),操作有危险,请完整阅读完项目README后使用.

安装

go install github.com/francoismichel/ssh3/cmd/...@latest

服务器

首次运行,生成 cert/key pair

ssh3-server -generate-selfsigned-cert -url-path /XXXXXXXXXXXXX -bind 0.0.0.0:<port>

或者若你有域名 example.com 解析到该机,也可自动获取 Let’s Encrypt 的证书:

ssh3-server -generate-public-cert example.com -url-path /XXXXXXXXXXXXX -bind 0.0.0.0:<port>

会在当前目录下生成 cert.pem, priv.key.检视证书指纹,供后面客户端连接时参考

openssl x509 -outform DER -in cert.pem | openssl dgst -sha256 -binary | openssl base64

之后仅需运行:

ssh3-server -url-path /XXXXXXXXXXXXX -bind 0.0.0.0:<port>

客户端

ssh3  -privkey ~/.ssh/<SSH key> root@<ip>:<port>/XXXXXXXXXXXXX 

注意这里的 SSH key 对应的是 ~/.ssh/authorized_keys 里配置的公私钥 (而非先前服务器生成的 cert/key pair)

提示你确认证书指纹是否符合,若是则将 host 保存至 ~/.ssh3/known_hosts,之后无需再确认。

1個讚