Reverse SSH
  • Go 95.3%
  • M4 2.4%
  • Shell 2.3%
Find a file
2019-02-11 23:12:25 -08:00
client client: when retries are on, retry even on error 2019-02-01 23:06:10 -08:00
server Fix a potential bug caught by go vet 2018-11-27 11:05:30 -08:00
build.sh Update ldflags in build script 2018-11-26 13:56:14 -08:00
config.m4 Make retries optional 2018-11-26 13:53:00 -08:00
gen_keys.sh gen_keys.sh: create keys directories if absent 2017-11-28 20:58:11 -08:00
LICENSE add license and readme 2016-03-13 16:18:57 -07:00
README.md Update copyright year in readme 2019-02-11 23:12:25 -08:00

grrsh: Go Reverse Remote Shell

This tool allows you to make reverse SSH connections. Essentially, it provides a normal SSH server and client (with an optional proxy mode) where the TCP client and server reverse roles. The client provides an SSH server that makes outgoing connections to the server, which can either provide an SSH client or proxy connections to a local port, allowing you to connect using a standard OpenSSH client.

Many OpenSSH features are supported when using proxy mode, including port forwarding, "netcat mode" (-W), and even scp.

Use Cases

  • Network or "Internet of Things" devices where port forwarding is difficult or impractical.
  • SSH servers on "road warriors" without a fixed address.

License

Copyright (C) 2016-2019 mutantmonkey

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.