Ero sivun ”SSH” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Muutettu esimerkkiosoitteiden TLD:ksi .example)
(roottinakirjautumisesta)
Rivi 67: Rivi 67:
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
== Pääkäyttäjänä kirjautumisen estäminen ==
Pääkäyttäjänä (root) kirjautumisen salliminen ssh-palvelimessa on hyvin riskialtista, sillä on olemassa monia haittaohjelmia, jotka yrittävät kirjautua ssh-palvelimelle kokeilemalla (ns. ''bruteforce'') eri käyttäjätunnuksia ja salasanoja. Jos pääkäyttäjänä voi kirjautua, tällaisen ohjelman ei enää tarvitse muuta kuin kokeilemalla selvittää pääkäyttäjän salasana, jonka jälkeen pääsy koneeseen avautuu.
Pääkäyttäjän kirjautuminen voidaan estää muokkaamalla tiedostoa <tt>/etc/ssh/sshd_config</tt>. Tiedostossa pitäisi olla rivi
PermitRootLogin no
jos pääkäyttäjän kirjautumista ei sallita. Jos tiedostossa lukee <tt>PermitRootLogin yes</tt>, vaihda se ylläolevaan muotoon.
Jotta muutokset tulevat voimaan, on ssh-palvelin käynnistettävä uudelleen:
/etc/init.d/ssh restart


==Katso myös==
==Katso myös==

Versio 27. tammikuuta 2007 kello 18.59

SSH eli Secure SHell on alunperin Tatu Ylösen kehittämä järjestelmä, jolla voidaa ottaa turvallisia yhteyksiä järjestelmästä toiseen. SSH:sta löytyy avoin OpenSSH-toteutus, joka on peräisin OpenBSD-projektista. PuTTY on X:ssä toimiva ssh-asiakasohjelma UNIX:eille ja Windowsille.

Peruskäyttö

Monissa jakeluissa tulee mukana ssh-asiakasohjelma komentoriville, jolloin ssh-yhteyden voi ottaa palvelimelle yksinhkertaisesti komennolla

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

ssh kayttajatunnus@minun.palvelin.example

Mikäli ylläolevan komennon kirjoittaminen toistuvasti tuntuu työläältä, on mahdollista luoda ssh:n asetustiedostoon (~/.ssh/config) oma profiili yhteyttä varten. Tämä onnistuu lisäämällä tiedostoon rivit:

Host lyhytnimi minun.palvelin.example
HostName minun.palvelin.example
User kayttajatunnus

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 minun.palvelin.example
ssh lyhytnimi

Graafiset ohjelmat

Jos halutaan ajaa X-ohjelmia SSH:n kautta on komentoon sisällyttävä parametri -X, esimerkiksi näin:

ssh -X guru@linuxburken.firma.example

Usein erityisesti X-ohjelmien ajossa pullonkaulaksi muodostuu hidas yhteys. Hitaan yhteyden aiheuttamia ongelmia voidaan kompensoida pakkaamalla tiedonsiirto:

ssh -X -C guru@linuxburken.firma.example

Jotta graafisten ohjelmien käyttäminen onnistuisi, on sshd:n asetustiedostossa (/etc/ssh/sshd_config) halutun host-merkinnän kohdalla oltava rivi

ForwardX11 yes

Jos haluat X11-etäkäytön käytettäväksi kaikkien etäkoneiden kanssa, laita em. rivi Host * -rivin alle.

Yhteyksien uusiokäyttö

Mikäli samalle palvelimelle otetaan useampia yhteyksiä, voidaan yhtä yhteyksistä käyttää nk. 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 -M:

ssh -M mun.palvelin.example

Jonka jälkeen toinen yhteys voidaan ottaa tavalliseen tapaan

ssh mun.palvelin.example

Eikä salasanaa enää kysytä.

Jotta isäntäyhteyksien käyttö onnistuisi, on ssh:n asetustiedostoon (~/.ssh/config) lisättävä rivit

Host * 
ControlPath ~/.ssh/ctl-%r-%h-%p 
ControlMaster auto 

Ominaisuus löytyy OpenSSH:n versiosta 4.2 ja sitä uudemmista.

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:

  • Luodaan avainpari ssh-keygen -ohjelmalla
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
  • 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.
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:

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).

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 -L 1337:localhost:123 etäkone

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.

ssh -R 1337:localhost:123 etäkone

Pääkäyttäjänä kirjautumisen estäminen

Pääkäyttäjänä (root) kirjautumisen salliminen ssh-palvelimessa on hyvin riskialtista, sillä on olemassa monia haittaohjelmia, jotka yrittävät kirjautua ssh-palvelimelle kokeilemalla (ns. bruteforce) eri käyttäjätunnuksia ja salasanoja. Jos pääkäyttäjänä voi kirjautua, tällaisen ohjelman ei enää tarvitse muuta kuin kokeilemalla selvittää pääkäyttäjän salasana, jonka jälkeen pääsy koneeseen avautuu.

Pääkäyttäjän kirjautuminen voidaan estää muokkaamalla tiedostoa /etc/ssh/sshd_config. Tiedostossa pitäisi olla rivi

PermitRootLogin no

jos pääkäyttäjän kirjautumista ei sallita. Jos tiedostossa lukee PermitRootLogin yes, vaihda se ylläolevaan muotoon.

Jotta muutokset tulevat voimaan, on ssh-palvelin käynnistettävä uudelleen:

/etc/init.d/ssh restart

Katso myös

Linkkejä