Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save seramo/a2e8f76d0d12b8fbe6b8d23642d85fd2 to your computer and use it in GitHub Desktop.

Select an option

Save seramo/a2e8f76d0d12b8fbe6b8d23642d85fd2 to your computer and use it in GitHub Desktop.
commands for sharing local internet with autossh
# Update system packages
sudo apt update
# Install autossh for persistent SSH tunnels
sudo apt install autossh
# Generate SSH key (ed25519)
ssh-keygen -t ed25519
# Copy SSH key to remote server (port 9011)
ssh-copy-id -p 9011 user@server_ip
# Test SSH connection to server
ssh -p 9011 user@server_ip
# Create systemd service for reverse SOCKS tunnel
sudo nano /etc/systemd/system/reverse-socks.service
# Service configuration
[Unit]
Description=AutoSSH Reverse SOCKS Proxy to Server
After=network-online.target
Wants=network-online.target
[Service]
User=YOUR_LOCAL_USERNAME
# Disable autossh startup delay
Environment="AUTOSSH_GATETIME=0"
# Start reverse SOCKS tunnel
ExecStart=/usr/bin/autossh -M 0 -N \
-o "ServerAliveInterval 30" \
-o "ServerAliveCountMax 3" \
-o "ExitOnForwardFailure yes" \
-p 9011 \
-R 1080:YOUR_LOCAL_IP:1080 user@server_ip
# Restart on failure
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
# Reload systemd and enable service
sudo systemctl daemon-reload
sudo systemctl enable reverse-socks.service
# Start and check service status
sudo systemctl start reverse-socks.service
sudo systemctl status reverse-socks.service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment