Sign inSign up

moul/quicssh

By moul

Updated about 3 years ago

Image
1

462

moul/quicssh repository overview

quicssh

:smile: 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.

CircleCI GoDoc License GitHub release Go Report Card Docker Metrics Made by Manfred Touron

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

Tag summary

Content type

Image

Digest

sha256:01c6ea017

Size

8.6 MB

Last updated

about 3 years ago

docker pull moul/quicssh