Permette di creare un tunnel SSH per collegarsi a dispositivi remoti, magari all interno di una rete domestica
Go to file
Claudio Maradonna a0b0477d95
First commit. Enjoy the secure reverse ssh tunnel
2020-07-31 12:41:53 +02:00
targets First commit. Enjoy the secure reverse ssh tunnel 2020-07-31 12:41:53 +02:00
LICENSE First commit. Enjoy the secure reverse ssh tunnel 2020-07-31 12:41:53 +02:00
README.md First commit. Enjoy the secure reverse ssh tunnel 2020-07-31 12:41:53 +02:00
authorized_keys First commit. Enjoy the secure reverse ssh tunnel 2020-07-31 12:41:53 +02:00
config First commit. Enjoy the secure reverse ssh tunnel 2020-07-31 12:41:53 +02:00
secure-tunnel@.service First commit. Enjoy the secure reverse ssh tunnel 2020-07-31 12:41:53 +02:00
setup-remote-host.sh First commit. Enjoy the secure reverse ssh tunnel 2020-07-31 12:41:53 +02:00

README.md

secure-reverse-ssh-tunnel

This project provides ready-to-use tools to configure a remote host via an ssh tunnel and a jump host.

Example

Consider this situation:

  • a) Your personal computer (behind NAT)
  • b) A remote machine, like an internal server (behind NAT)

To connect to your "b" machine you should configure the remote router to expose something and this should be avoided when unnecessary. So using "c" (jump server) we can create a tunnel from "b" to "c" and connect "a" to "c" and jump to "b" securely, using SSH and our private keys.


Support us

Whether you use this project, have learned something from it, or just like it, please consider supporting it by donate, so we can dedicate more time on open-source projects like this :)

Donate using Liberapay


Components

  • setup-remote-host.sh: This script must be run as root after setup step
  • authorized_keys: should contains the signatures you want to use for remotehost
  • config: example host configuration for "a" computer
  • secure-tunnel@.service: SystemD example but ready to use service
  • targets/* : contains multiple targets that need to be used as jump servers

Setup

Before run the script as root user, you should:

  1. append signature of your ssh keys into authorized_keys
  2. adjust various targets using the example provided and remove the example
  3. adjust your ~/.ssh/config like the provided one
  4. now you are able to run the script.

License

You can check out the full license here

This project is licensed under the terms of the GPLv3 license.