π quicssh is a QUIC proxy that allows to use QUIC to connect to an SSH server without needing to patch the client or the server.
Standard SSH connection
βββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββ
β bob β β wopr β
β βββββββββββββββββββββββββββββββββββββ β β βββββββββββββββββββββ β
β β ssh user@wopr βββΌββββtcpβββββββΌβΆβ sshd β β
β βββββββββββββββββββββββββββββββββββββ β β βββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββ
SSH Connection proxified with QUIC
βββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββ
β bob β β wopr β
β βββββββββββββββββββββββββββββββββββββ β β βββββββββββββββββββββ β
β βssh -o ProxyCommand "quicssh clientβ β β β sshd β β
β β --addr %h:4545" user@wopr β β β βββββββββββββββββββββ β
β β β β β β² β
β βββββββββββββββββββββββββββββββββββββ β β β β
β β β β β β
β process β β tcp to localhost:22 β
β β β β β β
β βΌ β β β β
β βββββββββββββββββββββββββββββββββββββ β βββββββββββββββββββββββββ
β β quicssh client --addr wopr:4545 βββΌβquic (udp)βββΆβ quicssh server ββ
β βββββββββββββββββββββββββββββββββββββ β βββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββ
$ quicssh -h
NAME:
quicssh - A new cli application
USAGE:
quicssh [global options] command [command options] [arguments...]
VERSION:
0.0.0
COMMANDS:
server
client
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help (default: false)
--version, -v print the version (default: false)
$ quicssh client -h
NAME:
quicssh client -
USAGE:
quicssh client [command options] [arguments...]
OPTIONS:
--addr value (default: "localhost:4242")
--help, -h show help (default: false)
$ quicssh server -h
NAME:
quicssh server -
USAGE:
quicssh server [command options] [arguments...]
OPTIONS:
--bind value (default: "localhost:4242")
--help, -h show help (default: false)
$ go get -u moul.io/quicssh
Β© 2019-2023 Manfred Touron - Apache-2.0 License