Muokataan sivua SSH
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: | ||
SSH eli Secure SHell on alunperin Tatu Ylösen kehittämä järjestelmä, jolla voidaan ottaa turvallisia yhteyksiä järjestelmästä toiseen. SSH:sta löytyy avoin [[OpenSSH]]-toteutus, joka on peräisin [[OpenBSD]]-projektista. [[PuTTY]] on [[X|X:ssä]] toimiva ssh-asiakasohjelma UNIX-järjestelmille ja Windowsille. | |||
== Peruskäyttö == | == Peruskäyttö == | ||
Rivi 17: | Rivi 15: | ||
ssh minun.palvelin.example | ssh minun.palvelin.example | ||
ssh lyhytnimi | ssh lyhytnimi | ||
== Graafiset ohjelmat == | == Graafiset ohjelmat == | ||
Rivi 66: | Rivi 59: | ||
== Tunnistaminen avainparilla == | == Tunnistaminen avainparilla == | ||
Salasanatunnistuksen ohella varteenotettava tapa autentikoida yhteys palvelimelle on avainparimenettely. Siinä asiakaskoneella luodaan avainpari, jonka yksityinen osa jätetään omalle koneelle, ja julkinen osa siirretään kaikille niille koneille, joilla avainparitunnistusta halutaan käyttää. | Salasanatunnistuksen ohella varteenotettava tapa autentikoida yhteys palvelimelle on avainparimenettely. Siinä asiakaskoneella luodaan avainpari, jonka yksityinen osa jätetään omalle koneelle, ja julkinen osa siirretään kaikille niille koneille, joilla avainparitunnistusta halutaan käyttää. Tässä menettelyohjeet: | ||
*Luodaan avainpari ssh-keygen -ohjelmalla | *Luodaan avainpari ssh-keygen -ohjelmalla | ||
ssh-keygen -t rsa | |||
ssh-keygen -t rsa | |||
*Tässä vaiheessa ssh-keygen kysyy salasanaa avaimelle ja mahdollisesti polkua. Oletuspolkua (~/.ssh/id_rsa) ei yleensä pidä muuttaa, mutta salasana lisää turvallisuutta oleellisesti, jos joku pääsee käsiksi avaintiedostoon. Salasana saa olla mielivaltaisen pitkä. Tiedoston <tt>id_rsa</tt> turvallisuudesta on pidettävä huolta, sillä sen avulla kuka tahansa voi kirjautua käyttämillesi palvelimille tunnuksillasi (murrettuaan mahdollisen salasanan). | *Tässä vaiheessa ssh-keygen kysyy salasanaa avaimelle ja mahdollisesti polkua. Oletuspolkua (~/.ssh/id_rsa) ei yleensä pidä muuttaa, mutta salasana lisää turvallisuutta oleellisesti, jos joku pääsee käsiksi avaintiedostoon. Salasana saa olla mielivaltaisen pitkä. Tiedoston <tt>id_rsa</tt> turvallisuudesta on pidettävä huolta, sillä sen avulla kuka tahansa voi kirjautua käyttämillesi palvelimille tunnuksillasi (murrettuaan mahdollisen salasanan). | ||
*Sitten kopioidaan julkinen osa kaikille palvelimille missä tätä avainparia halutaan hyödyntää | *Sitten kopioidaan julkinen osa kaikille palvelimille missä tätä avainparia halutaan hyödyntää. Huomaa, että <tt>authorized_keys</tt>-tiedostossa jokaisella rivillä määritetään yksi avain. Jos et ole aiemmin käyttänyt tätä menetelmää, tiedostoa ei ole, ja oman julkisen avaimen kopioiminen etäkoneen <tt>authorized_keys</tt>-tiedostoksi ei tuota ongelmia. | ||
[[scp]] ~/.ssh/id_rsa.pub palvelin:/home/kayttaja/.ssh/authorized_keys | [[scp]] ~/.ssh/id_rsa.pub palvelin:/home/kayttaja/.ssh/authorized_keys | ||
Mikäli sinulla on jo ennestään etäkoneessa <tt>~/.ssh/ | Mikäli sinulla on jo ennestään etäkoneessa <tt>~/.ssh/authorized_keys2</tt>-tiedosto, voit komentaa näin: | ||
[[cat]] ~/.ssh/id_rsa.pub | ssh käyttäjä@etäkone '[[cat]] >> ~/.ssh/authorized_keys' | [[cat]] ~/.ssh/id_rsa.pub | ssh käyttäjä@etäkone '[[cat]] >> ~/.ssh/authorized_keys' | ||
*Nyt voit kirjautua kaikille palvelimille, joille olet julkisen avaimesi kopioinut käyttämättä palvelimen salasanaa. Salasanan ei siis enää tarvitse olla helposti muistettava – ja salasanalla kirjautumisen sshd:n kautta voi kieltää kokonaan. | *Nyt voit kirjautua kaikille palvelimille, joille olet julkisen avaimesi kopioinut käyttämättä palvelimen salasanaa. Salasanan ei siis enää tarvitse olla helposti muistettava – ja salasanalla kirjautumisen sshd:n kautta voi kieltää kokonaan. Käyttäen ohjelmaa ssh-agent säästytään myös avaintiedoston salasanan antamisesta, paitsi kerran X- tai pääteistunnon alussa, ssh-agentin käynnistämisen yhteydessä. | ||
Jos haluaa kirjautua automaattisesti, esimerkiksi cron-työn yhteydessä, joutuu käyttämään salasanatonta avaintiedostoa. Tähän käyttöön voi luoda rinnakkaisen avaimen, jota pidetään eri tiedostossa (johon viitataan ssh:n vivulla <code>-i</code>) ja avaimen valtuuksia voi rajoittaa laittamalla tiedoston authorized_keys tämän avaimen kohdalle rivin alkuun "optioita", esimerkiksi (huomaa pilkkujen, lainausmerkkien ja välilyöntien käyttö): | Jos haluaa kirjautua automaattisesti, esimerkiksi cron-työn yhteydessä, joutuu käyttämään salasanatonta avaintiedostoa. Tähän käyttöön voi luoda rinnakkaisen avaimen, jota pidetään eri tiedostossa (johon viitataan ssh:n vivulla <code>-i</code>) ja avaimen valtuuksia voi rajoittaa laittamalla tiedoston authorized_keys tämän avaimen kohdalle rivin alkuun "optioita", esimerkiksi (huomaa pilkkujen, lainausmerkkien ja välilyöntien käyttö): | ||
from="*.kotiverkko.example.org,työkoneeni.example.com",no-port-forwarding,no-X11-forwarding jatässäitsejulkinenavainkaikkinensa | from="*.kotiverkko.example.org,työkoneeni.example.com",no-port-forwarding,no-X11-forwarding jatässäitsejulkinenavainkaikkinensa | ||
== Tunneli == | == Tunneli == | ||
SSH:n avulla voi tunneloida minkä tahansa TCP-portin käytettäväksi verkon yli. Tämä tapahtuu sovelluksille läpinäkyvästi, joten se tarjoaa hienon mahdollisuuden parantaa – tai huonontaa – tietoturvaa tilanteissa, joissa tietyn sovelluksen muokkaaminen ei ole mahdollista tai käytännöllistä. | SSH:n avulla voi tunneloida minkä tahansa TCP-portin käytettäväksi verkon yli. Tämä tapahtuu sovelluksille läpinäkyvästi, joten se tarjoaa hienon mahdollisuuden parantaa – tai huonontaa – tietoturvaa tilanteissa, joissa tietyn sovelluksen muokkaaminen ei ole mahdollista tai käytännöllistä. Seuraavassa esimerkissä tunneloidaan paikallisen koneen ([[localhost]]) portti 123 SSH:lla niin, että sen kautta voi käyttää etäkoneen porttia 1337. | ||
ssh -L 1337:localhost:123 etäkone | |||
Seuraavassa esimerkissä tunneloidaan paikallisen koneen ([[localhost]]) portti | |||
ssh -L | |||
Tunnelia ei ole pakko tehdä localhostiin, vaan mikä tahansa kone käy. Näin voit esimerkiksi päästä käsiksi sisäverkkoihin, joihin et suoraan Internetistä pääse. Esimerkki: | Tunnelia ei ole pakko tehdä localhostiin, vaan mikä tahansa kone käy. Näin voit esimerkiksi päästä käsiksi sisäverkkoihin, joihin et suoraan Internetistä pääse. Esimerkki: | ||
ssh | ssh -L 1337:192.168.6.12:123 etäkone | ||
=== Käänteinen tunneli === | === Käänteinen tunneli === | ||
Käänteisen tunnelin idea on sama kuin normaalinkin tunnelin, mutta se käynnistetään toisesta päästä. Käänteinen tunneli mahdollistaa vaikkapa palomuurin takana olevan koneen etäylläpidon. Seuraavassa esimerkissä tunneloidaan paikallisen koneen portti | Käänteisen tunnelin idea on sama kuin normaalinkin tunnelin, mutta se käynnistetään toisesta päästä. Käänteinen tunneli mahdollistaa vaikkapa palomuurin takana olevan koneen etäylläpidon. Seuraavassa esimerkissä tunneloidaan paikallisen koneen portti 123 SSH:lla niin, että se on käytettävissä etäkoneelta portissa 1337. | ||
ssh -R 1337:localhost: | ssh -R 1337:localhost:123 etäkone | ||
==Tietoturva== | ==Tietoturva== | ||
SSH-yhteys on salattu, mutta ei pidä tuudittautua valheellisen turvallisuuden tunteeseen, sillä erilaisia hyökkäyskeinoja | SSH-yhteys on salattu, mutta ei pidä tuudittautua valheellisen turvallisuuden tunteeseen, sillä erilaisia hyökkäyskeinoja löytyy. Lue artikkelista [[SSH-turvatoimet]] vinkkejä SSH-palvelimesi turvaamiseen. | ||
Salaus auttaa siihen, ettei verkkoa passiivisesti salakuunteleva pysty seuraamaan liikennettä ja ettei sitä pystytä muokkaamaan. Edellinen voi myös olla tietoturvaongelma, sillä yrityksen palomuurikaan ei pysty erottamaan ongelmallista liikennettä sallittusta. | Salaus auttaa siihen, ettei verkkoa passiivisesti salakuunteleva pysty seuraamaan liikennettä ja ettei sitä pystytä muokkaamaan. Edellinen voi myös olla tietoturvaongelma, sillä yrityksen palomuurikaan ei pysty erottamaan ongelmallista liikennettä sallittusta. | ||
Rivi 146: | Rivi 101: | ||
===Murtautuminen=== | ===Murtautuminen=== | ||
Se, että ssh-liikenne on salattua, ei estä | Se, että ssh-liikenne on salattua, ei estä murtautumaasta ssh-palvelimen kautta suoraan. Itse palvelimessa ei ole ollut kovin paljon reikiä, mutta heikkoja salasanoja voi hyödyntää ssh-palvelimen kautta. Joissakin [[jakelu]]issa palvelin on oletuksena päällä, koska koneita on tarkoitettu etäylläpidettäviksi. Tällöin on tärkeää rajoittaa miltä koneilta ja mille tunnuksille ssh:lla pystyy kirjautumaan ja varmistamaan, että näillä tunnuksilla on hyvät salasanat – ellei salasanalla kirjautumista ssh:lla estetä kokonaan (katso [[#Tunnistaminen avainpareilla|tunnistaminen avainpareilla]] yllä). | ||
Katso myös [[SSH-turvatoimet]]. | Katso myös [[SSH-turvatoimet]]. | ||
Rivi 159: | Rivi 114: | ||
ssh -x kone-ilman-x-ohjelmia.example.org | ssh -x kone-ilman-x-ohjelmia.example.org | ||
ssh -X kone-jossa-x-ohjelmia.example.org | ssh -X kone-jossa-x-ohjelmia.example.org | ||
ssh -Y kone-johon-luottaa.example.org | ssh -X -Y kone-johon-luottaa.example.org | ||
==SSH välityspalvelimen läpi== | ==SSH välityspalvelimen läpi== | ||
Rivi 170: | Rivi 125: | ||
==Käyttöesimerkki: varakopiot verkon yli== | ==Käyttöesimerkki: varakopiot verkon yli== | ||
Varakopioi kotisivusi toisen koneen kotihakemistosta ssh:lla | Varakopioi kotisivusi toisen koneen kotihakemistosta ssh:lla | ||
ssh toinen.kone.fi 'cd public_html && tar -cjvf - .' | cat > kotisivut.tar.bz2 | ssh toinen.kone.fi 'cd public_html && tar -cjvf - .' | cat > kotisivut.tar.bz2 | ||
Rivi 183: | Rivi 138: | ||
Koneet A ja B ovat [[palomuuri]]en takana, kone C ei. Tarkoituksena nähdä koneen A näytöllä koneen B näytön näkymä [[VNC#Yhdist.C3.A4minen_olemassaolevaan_X-istuntoon|VNC-yhteyden]] yli. | Koneet A ja B ovat [[palomuuri]]en takana, kone C ei. Tarkoituksena nähdä koneen A näytöllä koneen B näytön näkymä [[VNC#Yhdist.C3.A4minen_olemassaolevaan_X-istuntoon|VNC-yhteyden]] yli. | ||
Kone A ottaa ensiksi yhteyden koneeseen C | Kone A ottaa ensiksi yhteyden koneeseen C tunneloiden koneen C portin 5903 paikalliseen porttiin 5904: | ||
ssh ckayttaja@ckone.com -L 5904:localhost:5903 | ssh ckayttaja@ckone.com -L 5904:localhost:5903 | ||
Tämän jälkeen kone B ottaa yhteyden koneeseen C | Tämän jälkeen kone B ottaa yhteyden koneeseen C tunneloiden koneen C portti 8001 koneen B porttiin 22 (SSH): | ||
ssh -R 8001:localhost:22 ckayttaja@ckone.com | ssh -R 8001:localhost:22 ckayttaja@ckone.com | ||
Tämän jälkeen käyttäjä A ottaa koneelta C yhteyden koneeseen B | Tämän jälkeen käyttäjä A ottaa koneelta C yhteyden koneeseen B tunneloiden koneen B portin 5900(VNC) koneen C porttiin 5903: | ||
ssh bkayttaja@localhost -p 8001 -L 5903:localhost:5900 | ssh bkayttaja@localhost -p 8001 -L 5903:localhost:5900 | ||
Rivi 196: | Rivi 151: | ||
Ja tämä B-koneen portti 5900 tunneloituu noin neljän portin läpi koneen A porttiin 5904, jolloin A saa VNC:n käyntiin: | Ja tämä B-koneen portti 5900 tunneloituu noin neljän portin läpi koneen A porttiin 5904, jolloin A saa VNC:n käyntiin: | ||
vncviewer localhost: | vncviewer localhost:5905 | ||
==Katso myös== | ==Katso myös== | ||
*[[SSH-turvatoimet]] | *[[SSH-turvatoimet]] | ||
*[[SFTP]] | *[[SFTP]] | ||
*[[SCP]] | *[[SCP]] | ||
*[[Telnet]] | *[[Telnet]] | ||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
* [[wikipedia:fi:SSH|SSH Wikipediassa]] | * [[wikipedia:fi:SSH|SSH Wikipediassa]] | ||
* [http://www.openssh.com/ OpenSSH] | * [http://www.openssh.com/ OpenSSH] | ||
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] | * [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] | ||
Rivi 218: | Rivi 169: | ||
[[Luokka:Tietoturva]] | [[Luokka:Tietoturva]] | ||
[[Luokka:Komentorivin erikoisohjelmat]] | [[Luokka:Komentorivin erikoisohjelmat]] | ||