5
GitHub - moul/quicssh: SSH over QUIC
source link: https://github.com/moul/quicssh
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
quicssh
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.
Architecture
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 ││
│ └───────────────────────────────────┘ │ │└─────────────────────┘│
└───────────────────────────────────────┘ └───────────────────────┘
Usage
$ 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)
Client
$ quicssh client -h
NAME:
quicssh client -
USAGE:
quicssh client [command options] [arguments...]
OPTIONS:
--addr value (default: "localhost:4242")
--help, -h show help (default: false)
Server
$ quicssh server -h
NAME:
quicssh server -
USAGE:
quicssh server [command options] [arguments...]
OPTIONS:
--bind value (default: "localhost:4242")
--help, -h show help (default: false)
Install
$ go get -u moul.io/quicssh
License
© 2019-2021 Manfred Touron - Apache-2.0 License
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK