Ero sivun ”SSH” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
ei muokkausyhteenvetoa
Pb (keskustelu | muokkaukset) p (erikoisohjelmat-luokkaan) |
pEi muokkausyhteenvetoa |
||
Rivi 1: | Rivi 1: | ||
SSH eli Secure SHell on alunperin Tatu Ylösen kehittämä järjestelmä, jolla | 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ö == | ||
Monissa jakeluissa tulee mukana ssh-asiakasohjelma komentoriville, jolloin ssh-yhteyden voi ottaa palvelimelle | Monissa jakeluissa tulee mukana ssh-asiakasohjelma komentoriville, jolloin ssh-yhteyden voi ottaa palvelimelle yksinkertaisesti komennolla | ||
ssh minun.palvelin.example | ssh minun.palvelin.example | ||
Tällöin kirjautumista yritetään samalla tunnuksella, millä järjestelmään on kirjauduttu sisälle. Muulla tunnuksella yhdistäminen onnistuu seuraavasti | Tällöin kirjautumista yritetään samalla tunnuksella, millä järjestelmään on kirjauduttu sisälle. Muulla tunnuksella yhdistäminen onnistuu seuraavasti | ||
ssh kayttajatunnus@minun.palvelin.example | ssh kayttajatunnus@minun.palvelin.example | ||
Mikäli | Mikäli yllä olevan komennon kirjoittaminen toistuvasti tuntuu työläältä, on mahdollista luoda ssh:n asetustiedostoon (<tt>~/.ssh/config</tt>) oma profiili yhteyttä varten. Tämä onnistuu lisäämällä tiedostoon rivit: | ||
Host lyhytnimi minun.palvelin.example | Host lyhytnimi minun.palvelin.example | ||
HostName minun.palvelin.example | HostName minun.palvelin.example | ||
User kayttajatunnus | User kayttajatunnus | ||
Host määrittelee komentoriville syötetyt aliakset, jotka käyttävät tätä profiilia. | Host määrittelee komentoriville syötetyt aliakset, jotka käyttävät tätä profiilia. Yllä olevaa profiilia käytettäessä seuraavat komennot saavat aikaan saman lopputuloksen: | ||
ssh kayttajatunnus@minun.palvelin.example | ssh kayttajatunnus@minun.palvelin.example | ||
ssh minun.palvelin.example | ssh minun.palvelin.example | ||
Rivi 25: | Rivi 25: | ||
Jotta graafisten ohjelmien käyttäminen onnistuisi, on sshd:n asetustiedostossa (<tt>/etc/ssh/sshd_config</tt>) oltava rivi | Jotta graafisten ohjelmien käyttäminen onnistuisi, on sshd:n asetustiedostossa (<tt>/etc/ssh/sshd_config</tt>) oltava rivi | ||
ForwardX11 yes | ForwardX11 yes | ||
Oletuksena tämä arvo on | Oletuksena tämä arvo on <tt>no</tt>. | ||
== Yhteyksien uusiokäyttö == | == Yhteyksien uusiokäyttö == | ||
Mikäli samalle palvelimelle otetaan useampia yhteyksiä, voidaan yhtä yhteyksistä käyttää | Mikäli samalle palvelimelle otetaan useampia yhteyksiä, voidaan yhtä yhteyksistä käyttää niin kutsuttuna isäntäyhteytenä, jolloin muut yhteydet otetaan sen kautta. Tällöin salasana on annettava vain kerran isäntäyhteyttä avatessa ja muiden yhteyksien ottaminen hoituu erittäin nopeasti. | ||
Isäntäyhteyttä otettaessa ssh:lle on annettava parametri <tt>-M</tt>: | Isäntäyhteyttä otettaessa ssh:lle on annettava parametri <tt>-M</tt>: | ||
Rivi 44: | Rivi 44: | ||
Ominaisuus löytyy OpenSSH:n versiosta 4.2 ja sitä uudemmista. | Ominaisuus löytyy OpenSSH:n versiosta 4.2 ja sitä uudemmista. | ||
==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ää. Tässä menettelyohjeet: | 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: | ||
Rivi 51: | Rivi 51: | ||
ssh-keygen -t rsa | ssh-keygen -t rsa | ||
*Tässä vaiheessa ssh-keygen kysyy polkua ja salasanaa avaimelle. Oletuspolku (~/.ssh/id_rsa)käy hyvin, mutta salasanaa on syytä käyttää, sillä tämän jälkeen koneellasi ei enää tarvita salasanaa tälle palvelimelle kirjauduttaessa, joten kaikki koneen käyttäjät pääsevät käsiksi etäpalvelimiisi. Myös id_rsa -tiedoston turvallisuudesta on pidettävä huolta, sillä sen avulla kuka tahansa voi kirjautua käyttämillesi palvelimille tunnuksillasi | *Tässä vaiheessa ssh-keygen kysyy polkua ja salasanaa avaimelle. Oletuspolku (~/.ssh/id_rsa) käy hyvin, mutta salasanaa on syytä käyttää, sillä tämän jälkeen koneellasi ei enää tarvita salasanaa tälle palvelimelle kirjauduttaessa, joten kaikki koneen käyttäjät pääsevät käsiksi etäpalvelimiisi. Myös <tt>id_rsa</tt>-tiedoston turvallisuudesta on pidettävä huolta, sillä sen avulla kuka tahansa voi kirjautua käyttämillesi palvelimille tunnuksillasi. | ||
*Sitten kopioidaan julkinen osa kaikille palvelimille missä tätä avainparia halutaan hyödyntää. Huomaa, että authorized_keys2 -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 authorized_keys2 -tiedoston päälle ei tuota ongelmia. | *Sitten kopioidaan julkinen osa kaikille palvelimille missä tätä avainparia halutaan hyödyntää. Huomaa, että <tt>authorized_keys2</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_keys2</tt>-tiedoston päälle ei tuota ongelmia. | ||
[[scp]] ~/.ssh/id_rsa.pub palvelin:/home/kayttaja/.ssh/authorized_keys2 | [[scp]] ~/.ssh/id_rsa.pub palvelin:/home/kayttaja/.ssh/authorized_keys2 | ||
Mikäli sinulla on jo ennestään etäkoneessa ~/.ssh/authorized_keys2 -tiedosto, voit komentaa näin: | 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 '[[dd]] >> ~/.ssh/authorized_keys2' | [[cat]] ~/.ssh/id_rsa.pub | ssh käyttäjä@etäkone '[[dd]] >> ~/.ssh/authorized_keys2' | ||
*Nyt voit kirjautua kaikille palvelimille, joille olet julkisen avaimesi kopioinut ilman salasanaa (tai siis avainparin salasanaa käyttäen). | *Nyt voit kirjautua kaikille palvelimille, joille olet julkisen avaimesi kopioinut ilman salasanaa (tai siis avainparin salasanaa käyttäen). | ||
==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 tietoturvaa tilanteissa, joissa itse 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: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 tietoturvaa tilanteissa, joissa itse 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 | ssh -L 1337:localhost:123 etäkone | ||
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 -L 1337:192.168.6.12:123 etäkone | 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 123 SSH:lla niin, että se on käytettävissä etäkoneelta portissa 1337. | 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:123 etäkone | ssh -R 1337:localhost:123 etäkone |