Menu

27 augustus 2012

Mac OS X: SSH gebruiken als veilige SOCKS proxy

Door het activeren van de optie ‘Inloggen op afstand’ is het mogelijk om via SSH verbinding te maken met je Mac. Wanneer je ervoor zorgt dat SSH (poort 22) vanaf het internet beschikbaar is dan kun je SSH gebruiken om veilig te internetten vanaf gastnetwerken. Je kunt namelijk een SSH tunnel opzetten en gebruik maken van de SOCKS proxy instellingen.

Dit is erg handig als je gebruik maakt van publiek (Wi-Fi) internet zoals bijvoorbeeld bij Mac Donalds, La Place etc. Door gebruik te maken van een SSH tunnel ben je er zeker van dat je internet verkeer niet zichtbaar is voor andere gebruikers van het publieke netwerk.

Je kunt ‘Inloggen op afstand’ activeren via  ▸ Systeemvoorkeuren ▸ Delen. Zorg er hierna voor dat poort 22 bereikbaar is vanaf internet en dat je externe IP nummer van je verbinding weet.

Hierna kun je het onderstaande script gebruiken om de SSH tunnel te activeren. Het script zal tevens de SOCK proxy instellingen aanpassen en deze ook weer verwijderen op het moment dat je de verbinding verbreekt.

Het bash script:

#!/bin/bash
disable_proxy()
{
        networksetup -setsocksfirewallproxystate Wi-Fi off
        networksetup -setsocksfirewallproxystate Ethernet off
        echo "SOCKS proxy uitgeschakeld"
}
trap disable_proxy INT
 
networksetup -setsocksfirewallproxy Wi-Fi 127.0.0.1 9990
networksetup -setsocksfirewallproxy Ethernet 127.0.0.1 9990
networksetup -setsocksfirewallproxystate Wi-Fi on
networksetup -setsocksfirewallproxystate Ethernet on
echo "SOCKS proxy geactiveerd..."
echo "Tunnel wordt gestart, gebruik ctrl + c om deze te verbreken"
ssh -ND 9990 gebruikersnaam@mijn.server.nl

Bewaar het script op je Mac en geef deze de naam ‘tunnels’, in het voorbeeld bewaren we het script in de thuismap.

Belangrijk is het om het script te voorzien van de juiste rechten:

chmod a+x ~/tunnel.sh

Je kunt hierna het script starten vanuit je thuismap met:

./tunnel.sh

Nadat je het wachtwoord hebt ingevuld zal de SSH tunnel actief worden en kun je veilig over het internet surfen. Je kunt de tunnel verbreken door CTRL + C in het Terminal venster te gebruiken, automatisch worden dan ook de proxy instellingen verwijderd.

Je kunt de werking van de tunnel controleren door naar de website www.watismijnip.nl te gaan, vanaf een externe locatie zal het lokale IP nummer van je Mac worden weergeven.




Gerelateerde tips:




Reacties


  • Matthijs 27 augustus 2012 om 9:29

    Zou je hiervan ook een Screencast maken?

  • juppe 29 augustus 2012 om 13:57

    Ik volg het niet helemaal… heb je hiervoor 2 macs nodig? Of kan het vanaf afstand ook met een PC of met je iPhone?
    En als het alleen met 2 macs werkt, op welke mac voer je dan het script uit? En moet je die IP nummers nog aanpassen, en waar is het e-mail adres voor?

  • Arie 7 september 2012 om 19:44

    Er ontstaat wel een probleempje, wanneer je wilt inloggen op een server die offline is. Je hebt dan niet de optie om ctrl+c te drukken en je kunt daarna niet meer browsen.
    Je zult in je netwerk regelpaneel handmatig de proxy instelling moeten terugzetten…

Een reactie toevoegen: