ssh p2p tunneling server and client
Clone or download
Latest commit ddb902b Oct 25, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
signaling windows support Oct 25, 2018
.gitignore windows support Oct 25, 2018
LICENSE change license and readme fix Oct 25, 2018
Makefile windows support Oct 25, 2018
README.md change license and readme fix Oct 25, 2018
go.mod windows support Oct 25, 2018
go.sum windows support Oct 25, 2018
main.go windows support Oct 25, 2018

README.md

ssh-p2p

ssh p2p tunneling server and client

connection sequence

  1. ssh ---dial---> ssh-p2p client
  2. ssh-p2p client <----negotiation----> ssh-p2p server
  3. sshd <--dial--- ssh-p2p server

backend protocol

thx! https://github.com/pions/webrtc

install

for macOS or Linux

$ go get -u github.com/nobonobo/ssh-p2p

for Windows(pkg-manager 'scoop' needed)

scoop install pkg-config openssl gcc go git
set PKG_CONFIG_PATH=%USERPROFILE%\scoop\apps\openssl\1.1.1_6\lib\pkgconfig
go get -u github.com/nobonobo/ssh-p2p​

usage

server side

$ KEY = $(ssh-p2p newkey)
$ echo $KEY
xxxxxxxx-xxxx-xxxx-xxxxxxxx
$ ssh-p2p server -key=$KEY -dial=127.0.0.1:22

share $KEY value to client side

client side

$ KEY=xxxxxxxx-xxxx-xxxx-xxxxxxxx
$ ssh-p2p client -key=$KEY -listen=127.0.0.1:2222

client side other terminal

$ ssh -p 2222 127.0.0.1

connect to server side sshd !!