Muokataan sivua SSH-tunneli
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
Tunnelointiin on Linuxissa lukuisia tapoja. | Tunnelointiin on Linuxissa lukuisia tapoja. Tässä keskitytään kaikkein helpoimpaan, eli tun-tunneliin SSH:n välityksellä. Ratkaisulla saavutetaan seuraavat edut: | ||
Tässä | |||
* Helposti asetettavissa | * Helposti asetettavissa | ||
* Toimii kaikkien | * Toimii kaikkien palomuurien kanssa, jotka läpäisevät tavallisen SSH-liikenteen | ||
* Ei tarvitse asentaa | * Ei tarvitse asentaa ohjelmia | ||
Ratkaisulla on myös muutamia haittapuolia: | Ratkaisulla on myös muutamia haittapuolia: | ||
* Tarvitsee | * Tarvitsee root-oikeudet molemmista koneista (kuten useimmat muutkin tunneloinnit) | ||
* Ei ole verkkoliikenteen kannalta optimaalinen, koska tunneli toimii TCP-yhteyden välityksellä | * Ei ole verkkoliikenteen kannalta optimaalinen, koska tunneli toimii TCP-yhteyden välityksellä | ||
Tässä artikkelissa esitellään SSH-tunnelin asettelu siten, että se on otettavissa vaivatta käyttöön esimerkiksi | Tässä artikkelissa esitellään SSH-tunnelin asettelu siten, että se on otettavissa vaivatta käyttöön esimerkiksi kannettavalla. | ||
==Esiasettelu== | ==Esiasettelu== | ||
Luo ssh-avaimet tarvittaessa. Tätä tarkoitusta varten voit myös luoda omat avaimet. Tässä esimerkissä käytetään samoja avaimia kuin tavallisella käyttäjällä. | Luo ssh-avaimet tarvittaessa. Tätä tarkoitusta varten voit myös luoda omat avaimet. Tässä esimerkissä käytetään samoja avaimia kuin tavallisella käyttäjällä. | ||
Valitse | Valitse IPv4-osoitteet, jotka eivät ole käytössä tunnelia varten. Tässä esimerkissä käytetään osoitetta 192.168.24.1 palvelimelle ja 192.168.24.2 asiakkaalle. Esimerkin osoitteet on valittu umpimähkäisesti sisäverkkojen osoitealueesta. Valitse osoitteet, joita ei ole lähiverkossasi käytössä. | ||
Valitse myös käyttämäsi tunnelinumero. Se voi olla oikeastaan mitä tahansa nollasta ylöspäin, jos käytössä ei ole muita tunneleita. Tässä esimerkissä käytetään onnennumeroa 3, jolloin verkkolaitteen nimeksi tulee | Valitse myös käyttämäsi tunnelinumero. Se voi olla oikeastaan mitä tahansa nollasta ylöspäin, jos käytössä ei ole muita tunneleita. Tässä esimerkissä käytetään onnennumeroa 3, jolloin verkkolaitteen nimeksi tulee tun3. Se saa eri palvelimella ja asiakkaalla. | ||
==Palvelimen asettaminen== | ==Palvelimen asettaminen== | ||
Muokkaa | |||
Muokkaa tiedostoa <tt>~root/.ssh/authorized_keys</tt>. Lisää sinne rivi | |||
command="/root/tunnelip.sh",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding AVAIMESI TIEDOT | command="/root/tunnelip.sh",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding AVAIMESI TIEDOT | ||
Komento antaa oikeudet suorittaa vain komennon <tt>/root/tunnelip.sh</tt> palvelimella. | Komento antaa oikeudet suorittaa vain komennon <tt>/root/tunnelip.sh</tt> palvelimella. | ||
Muokkaa | Muokkaa tiedostoa <tt>/etc/ssh/sshd_config</tt> ja lisää sinne rivi | ||
PermitTunnel yes | PermitTunnel yes | ||
Luo uusi tiedosto <tt>~root/tunnelip.sh</tt>, | Luo uusi tiedosto <tt>~root/tunnelip.sh</tt>, jonne seuraava sisältö: | ||
#!/bin/bash | #!/bin/bash | ||
Rivi 48: | Rivi 46: | ||
fi | fi | ||
==Asiakkaan asettaminen== | |||
Asiakaskoneena voi toimia esimerkiksi kannettava tietokone, jolta haluat päästä lähiverkkoon. | |||
Asiakaskoneena voi toimia esimerkiksi kannettava tietokone, jolta haluat päästä lähiverkkoon | |||
Luo | Luo tiedosto ~root/tunnelconnect.sh ja laita siihen sisällöksi | ||
#!/bin/bash | #!/bin/bash | ||
ifconfig tun3 192.168.24.2 192.168.24.1 && | ifconfig tun3 192.168.24.2 192.168.24.1 && | ||
Rivi 62: | Rivi 56: | ||
# elamaa helpottavat reitit | # elamaa helpottavat reitit | ||
xargs -n 1 -I '{}' route add -host '{}' 192.168.24.1 <<END | xargs -n 1 -I '{}' route add -host '{}' 192.168.24.1 <<-END | ||
svn.cc.jyu.fi | svn.cc.jyu.fi | ||
trac.cc.jyu.fi | trac.cc.jyu.fi | ||
Rivi 68: | Rivi 62: | ||
END | END | ||
Esimerkissä olevat kolme palvelimen nimeä, esimerkiksi | Esimerkissä olevat kolme palvelimen nimeä, esimerkiksi svn.cc.jyu.fi, voidaan korvata niillä osoitteilla, jotka halutaan tunneloitavan osoitteen 192.168.24.1 lisäksi. Tämän avulla voidaan yksittäiseen IP-osoitteeseen menevä liikenne tunneloida samalla, kun muu liikenne kulkee normaalisti lyhintä reittiään. Ratkaisu on tarpeen palveluissa, joiden rajoitus perustuu IP-osoitteiden tarkistamiseen. | ||
Muokkaa | Muokkaa tiedostoa ~root/.ssh/config ja lisää sen loppuun rivi | ||
host tunnel | host tunnel | ||
Rivi 81: | Rivi 75: | ||
LocalCommand /root/tunnelconnect.sh | LocalCommand /root/tunnelconnect.sh | ||
Muuta | Muuta IdentityFile ja Hostname vastaamaan käyttämääsi ssh-avainta ja palvelimen osoitetta. | ||
Näillä asetuksilla | Näillä asetuksilla tarvisit rootin oikeudet joka kerta, kun haluat avata yhteyden. Tämän välttämiseksi asetetaan sudo-komento hyväksymään tunnelin avaaminen tavallisena käyttäjänä. Komenna 'visudo' ja lisää tiedoston loppuun seuraava rivi: | ||
jaska ALL = NOPASSWD: /usr/bin/ssh -T tunnel | jaska ALL = NOPASSWD: /usr/bin/ssh -T tunnel | ||
Korvaa tässä esimerkissä | Korvaa tässä esimerkissä 'jaska' asiakaskoneen käyttäjänimelläsi. | ||
Lopuksi voit luopua pääkäyttäjän oikeuksista ja muokata tiedostoa | Lopuksi voit luopua pääkäyttäjän oikeuksista ja muokata tiedostoa ~jaska/.bash_profile. Lisää sinne rivi | ||
alias tunneli="sudo /usr/bin/ssh -T tunnel" | alias tunneli="sudo /usr/bin/ssh -T tunnel" | ||
==Yhdistäminen== | ==Yhdistäminen== | ||
Komenna komentorivillä 'tunneli'. Tunneli avautuu. Tunneli voidaan lopettaa Control-C -näppäinyhdistelmällä. | |||