Sshuttle: Difference between revisions
Line 67: | Line 67: | ||
Ubuntu näitel lisa <code>~/.bash_aliases</code> faili rida: | Ubuntu näitel lisa <code>~/.bash_aliases</code> faili rida: | ||
alias aliase_nimi='sudo sshuttle --dns -r kasutajanimi@server 0.0.0.0/0' | alias aliase_nimi='sudo sshuttle --dns -r kasutajanimi@server 0.0.0.0/0 -x server' | ||
Muudetud aliaste fail lugeda uuesti sisse <code>source ~/.bash_aliases</code> ning sisesta vastloodud alias käsuna. | Muudetud aliaste fail lugeda uuesti sisse <code>source ~/.bash_aliases</code> ning sisesta vastloodud alias käsuna. |
Revision as of 22:12, 14 August 2018
Sissejuhatus
sshuttle on programm mis käitub kui läbipaistev proxy (ingl. transparent proxy) ja VPN klient.
Programm on sobiv juhul kui[1]:
- Klientmasin töötab Linux, FreeBSD või MacOS operatsioonisüsteemil.
- Teisse võrku on SSH ligipääs, kusjuures see ei pea olema admin õigustega.
- Kasutaja ei taha või ei saa teha võrgus pordisuunamisi.
Nõuded
Klient
sudo või root ligipääs masinale;
Python 2.7 või Python 3.5[2].
Server
Python 2.7 või Python 3.5.
Paigaldamine
- APT:
sudo apt-get update && sudo apt-get -y install sshuttle && sudo apt-get clean
- PyPI:
sudo pip install sshuttle
- Kloonimine Git'ist:
git clone https://github.com/sshuttle/sshuttle.git
sudo ./setup.py install
- Sshuttle paigaldamine macOS'is:
brew install sshuttle
Kasutamine
Peale edukat paigaldust saab hakata programmi kasutama.
Ühendumiseks serverisse ning kogu kliendi liikluse suunamine sellesse[3]:
sshuttle --dns -r kasutajanimi@sshserver 0.0.0.0/0 -x sshserver
--dns
- saada DNS päringud läbi serveri;
-r
- näitab, et edasi tuleb serveri kasutaja ja aadress;
0.0.0.0/0
- suuna kogu liiklus läbi serveri. Lühendina võib kasutada 0/0
;
-x
- ära edastada näidatud server, alamvõrk (Ubuntu 18.04 LTS ja uuemad).
Võidakse küsida klientmasina root parooli, et saada sudo õigused ja seejärel SSH serveri kasutaja parooli.
Alias
Kiiremaks ühendamiseks võib luua süsteemi vastava aliase.
Ubuntu näitel lisa ~/.bash_aliases
faili rida:
alias aliase_nimi='sudo sshuttle --dns -r kasutajanimi@server 0.0.0.0/0 -x server'
Muudetud aliaste fail lugeda uuesti sisse source ~/.bash_aliases
ning sisesta vastloodud alias käsuna.
Näide koos võtmefaili kasutamisega:
alias vpn='sudo sshuttle --dns -Nvr kasutajanimi@server 0.0.0.0/0 -e "ssh -i /home/kasutaja/.ssh/voti kasutajanimi@server"'
Asendada "kasutajanimi", "server", "kasutaja", "voti" tegelike väärtustega.
"vpn" asemel võib ka mõnda teist aliase nime kasutada.
Kui lisada ka -H parameeter siis skaneeritakse ka sihtkoha masinate nimed ja lisatakse /etc/hosts faili. Ühenduse katkestamisel taastatakse esialgne seis:
alias vpn='sudo sshuttle --dns -HNvr kasutajanimi@server 0.0.0.0/0 -e "ssh -i /home/kasutaja/.ssh/voti kasutajanimi@server"'
Aliase käivitamiseks piisab käsureale vpn sisestamisest ja Enter vajutamisest. Kui SSH võtmefail sisaldab salasõna siis tuleb see sisestada või kasutada agenti, et see sessiooni vältel meeles hoida. Lisaks tuleb sudo puhul salasõna sisestada, millest saab lahti sudoers mehhanismi kasutades:
sudo nano /etc/sudoers.d/permissions #failinimi permissions võib asendada millega iganes username ALL=(ALL) NOPASSWD: /usr/bin/sshuttle #asendada username reaalse kasutajanimega ja seejärel fail salvestada
Autor
Vahur Lepvalts
AK21
Täiendanud: Edmund Laugasson, EIK õppejõud