sshtunnel

command module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2024 License: MIT Imports: 17 Imported by: 0

README

SSH Tunnel

GitHub GitHub Workflow Status GitHub go.mod Go version GitHub release (latest by date)

A tunneling tool based on ssh protocol can be used for port forwarding. No dependency and out of the box.

Features

  • support local,remote,dynamic ssh port forwarding
  • support ssh-key,password authentication method

Installation

Using curl/sh:
curl https://get.extism.org/cli | sh

See the help output for more options:

curl https://get.extism.org/cli | sh -s -- -h
From source:
go install github.com/c3b2a7/sshtunnel@latest
Manual

You can also download and extract the latest release from https://github.com/c3b2a7/sshtunnel/releases

Usage

./sshtunnel
Usage of ./sshtunnel:
  -config string
    	config file
  -v	show version information
  -verbose
    	verbose mode

Quick Start

At first, you need write a configuration like this:

{
  "target": "host:port",
  "username": "username",
  "private-key": "location of ssh private key",
  "passphrase": "private-key passphrase or password of username",
  "tunnels": [
    {
      "local": "127.0.0.1:13306",
      "remote": "172.16.0.14:3306",
      "mode": "local"
    },
    {
      "local": "127.0.0.1:8080",
      "remote": "0.0.0.0:18080",
      "mode": "remote"
    },
    {
      "local": "127.0.0.1:1080",
      "mode": "dynamic"
    }
  ]
}

and then, use the following command to start ssh tunnel:

./sshtunnel -config /path/to/config -verbose

after the tunnel is established:

connect to the remote MySQL service like connecting to the local:

mysql -h 127.0.0.1 -P 13306 -u root -p # in local

connect to local service in remote:

nc -l 8080 # in local
nc localhost 18080 # in remote

connect to dynamic addr using socks5 protocol via remote server:

curl -x socks5://localhost:1080 ip.sb # in local

LICENSE

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package socks implements essential parts of SOCKS protocol.
Package socks implements essential parts of SOCKS protocol.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL