Size: 5819
Comment:
|
Size: 8275
Comment: paljon korjauksia taas...
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
SSH:hän on tietoturvaltaan erittäin hyvä tapa ottaa etäyhteyksiä. SFTP puolestaan on tarkoitettu tiedonsiirtoon aivan kuten FTP, mutta se käyttää yhteyden (ja yhteydenoton) salaamiseen SSH:n tarjoamaan turvaa. tosin myös ssh:iä kannattaa käyttää versiota 2 jonka mukana tuo SFTP:kin tuli, aikaisemman version yhteydessä SFTP:n tilalla käytettiin vähän vähemmän toiminnallisuutta tarjoavaa SCP:ä. | SSH on tietoturvaltaan erittäin hyvä tapa ottaa etäyhteyksiä telnetin tapaan. Tämän lisäksi se tarjoaa mahdollisuuden käyttää jopa graaffisia ohjelmia etänä. Ssh salaa koko yhteyden mukaan lukien yhteydenoton, joten tunnukset ja salasanat pysyvät turvassa. OpenSSH sisältää myös mahdollisuuden SFTP:llä tapahtuvaan tiedostojen siirtoon. Se vastaa täysin FTP:tä, mutta liikenne on salattua ssh-pääteyhteyden tapaan. |
Line 5: | Line 5: |
Avaa pääte ja komenna {{{ $ sudo apt-get install openssh-server }}} SSH-palvelin käynnistyy samalla kuin se asennetaan, joten siihen voi heti yrittää ottaa yhteyttä joko SSH:llä tai SFTP:lla. Nythän kuka tahansa joka näkee koneen ulkoisen IP:n pystyy yrittämään koneelle sisään arvaamalla käyttäjätunnuksen ja salasanan. Ubuntussa ei onneksi ole rootin tiliä aktivoituna, joten siihen kohdistuvat yritykset ovat luonnollisesti turhia. Muutenkin nuo madot yrittävät yleensä arvailla englantilaisia erisnimiä, joten suomalaisilla koneilla niitä ei useinkaan onnista. Olisi kuitenkin mukavaa jos pystyisi määräämään ketkä saavat ottaa koneelle yhteyttä, ja sen toki pystyykin tekemään seuraavasti. |
|
Line 6: | Line 11: |
1 Avaa pääte ja komenna | 1. Avaa tekstieditorissa pääkäyttäjän oikeuksin (sudo) tiedosto '''/etc/ssh/sshd_config''' 1. etsi kohta '''!PermitRootLogin yes''' ja muuta sen arvoksi '''no''' 1. Voit rajoittaa ssh:n käyttöoikeuden tietyille käyttäjille lisäämällä tiedoston loppupuolelle rivi joka alkaa avainsanalla '''!AllowUsers''' ja listataan sen perään välilyönnillä erotettuna käyttäjät jotka saavat ottaa koneeseen yhteyden |
Line 8: | Line 17: |
# apt-get install openssh-server }}} serveri käynnistyy samalla kuin se asennetaan, joten siihen voi heti yrittää ottaa yhteyttä joko ssh:llä tai sftp:lla. Nythän kuka tahansa joka näkee koneen ulkoisen IP:n pystyy yrittämään koneelle sisään arvaamalla käyttäjätunnuksen ja salasanan. Ubuntussa ei onneksi ole rootin tiliä aktivoituna, joten siihen kohdistuvat yritykset ovat luonnollisesti turhia. Muutenkin nuo madot yrittävät yleensä arvailla englantilaisia erisnimiä, joten suomalaisilla koneilla niitä ei useinkaan onnista. Olisi kuitenkin mukavaa jos pystyisi määräämään ketkä saavat ottaa koneelle yhteyttä, ja sen toki pystyykin tekemään seuraavasti: 1 Avaa tekstieditorissa tiedosto (rootin oikeuksin toki) /etc/ssh/sshd_config {{{ # gedit /etc/ssh/sshd_config }}} muuta rivi {{{ PermitRootLogin yes }}} riviksi {{{ PermitRootLogin no }}} lisää tiedoston loppupuolelle rivi joka alkaa avainsanalla AllowUsers ja listataan sen perään välilyönnillä erotettuna käyttäjät jotka saavat ottaa koneeseen yhteyden: {{{ |
|
Line 32: | Line 19: |
1 tallenna tiedosto ja käynnistä palvelin uudestaan komentamalla: | 1. tallenna tiedosto ja käynnistä palvelin uudestaan komentamalla: |
Line 34: | Line 21: |
# /etc/init.d/ssh restart | $ sudo /etc/init.d/ssh restart }}} Nyt koneelle pääsee vain tunnuksilla janne, mikk0 ja ninnnu Tällä tietoturvatasolla voi aloittaa. Kannattaa kuitenkin seurata tiedostosta /var/log/messages, keitä koneelle on yrittänyt sisään. == Yksityisen ja julkisen avaimen käyttöönotto == Yksityisellä ja julkisella avaimella voidaan tiukentaa tietoturva vaatimuksia, jolloin kirjautumiseen tarvitaan vähintään 1024 bittinen avain-tiedosto sekä sitä vastaava salasana. Tai niillä voidaan myös vähentään salasanojen ainaista kirjoittelua (alempana lisää). Käyttäjien täytyy luoda itselleen avaimet joita tulee kaksi kappaletta: '''julkinen''' ja '''yksityinen'''. '''Julkinen''' avain pitää toimittaa palvelimelle johon ollaan kirjautumassa ja yksityinen avain pitää lisätä käyttäjän kotihakemistossa olevaan hakemistoon '''.ssh'''. Julkinen avain siis määrää millä yksityisellä avaimella saa kirjautua sisään. === Avainparin luominen asiakaskoneella === Luodaan rsa-tyyppisen avainpari jonka pituus on 2048 bittiä päätteessä komentamalla: {{{ $ ssh-keygen -t rsa }}} Kannattanee hyväksyä tiedostojen oletussijainti '''~/.ssh/id_rsa''' ja '''~/.ssh/id_rsa.pub'''. Noista ensimmäinen eli yksityinen avain tulee siis pitää visusti poissa ulkopuolisten silmistä! Ja jälkimmäinen on se julkinen avain joka toimitetaan palvelimelle. Tuo ohjelma kysyy myös salasanaa joka liitetään avaimeen ja jota käytetään jatkossa avaimen kanssa kirjautuessa (se voi olla eri kuin käyttäjän kohdekoneen salasana). === Käyttöönotto palvelimessa === 1. Avaa taas tiedosto '''/etc/ssh/sshd_config''' pääkäyttäjän oikeuksin 1. Etsi kohta {{{ #AuthorizedKeysFile %h/.ssh/authorized_keys }}} Poista kommentointi (se risuaita siitä alusta). 1. Tallenna tiedosto ja käynnistä palvelin uudestaan. === Julkisen avaimen lisääminen palvelimelle === 1. Kopioidaan julkinen avain asiakaskoneelta palvelimelle {{{ $ scp ~/.ssh/id_rsa.pub tunnus@palvelin: }}} '''Ole tässä tarkkana ettet vahingossakaan lähetä yksityistä avainta (id_rsa) palvelimelle!''' 1. Kirjaudutaan palvelimelle {{{ $ ssh tunnus@palvelin }}} 1. Lisätään avain {{{ $ cat id_rsa.pub >> .ssh/authorized_keys }}} 1. Ja lopuksi kannattanee vielä poistaa turha avaintiedosto palvelimelta {{{ $ rm id_rsa.pub |
Line 37: | Line 72: |
Nyt koneelle pääsee vain tunnuksilla janne, mikk0 ja ninnnu Tällä tietoturvatasolla voi aloittaa. Kannattaa kuitenkin seurata tiedostosta /var/log/messages, keitä koneelle on yrittänyt sisään. |
Tämän saman tempun voi tehdä siis niin monelle palvelimelle kuin haluaa tällä samalla id_rsa.pub -tiedostolla. Nyt sinun pitäisi pystyä kirjautumaan niille kaikille palvelimille sillä salasanalla jonka asetit tuolle avaimelle. |
Line 40: | Line 74: |
== Avainten käyttöönotto == Avain muodostuu kahdesta osasta, julkisesta ja yksityisestä avaimesta. Julkinen avain sijoitetaan palvelimelle ja yksityinen avain pitää löytyä koneelta, joka yhteyttä muodostaa. 1 avaa tiedosto '''/etc/ssh/sshd_config''' |
Ssh osaa siis käyttää suoraan tuota yksityistä avainta kunhan se on tallennettu oletussijaintiin. Jos haluat käyttää muualle tallennettua avainta niin se onnistuu -i vivulla: |
Line 45: | Line 76: |
# gedit /etc/ssh/sshd_config }}} 1 etsi kohta {{{ #AuthorizedKeysFile %h/.ssh/authorized_keys }}} Poistetaan riviltä kommentti (se risuaita siitä alusta). ja samoin riviltä: {{{ #PasswordAuthentication yes }}} ja muutetaan vielä sen arvoksi '''no'''. 1 Tallenna tiedosto ja käynnistä palvelin uudestaan. huomataan, että kukaan ei pääse sisään, itse asiassa kukaan ei pääse edes yrittämään salasanan arvaamista. nyt onkin tosi turvallista, mutta mitenkäs siihen sitten oikein pääsee sisälle... käyttäjien pitää luoda itselleen avaimet joita tulee kaksi kappaletta, '''julkinen''' ja '''yksityinen'''. '''julkinen''' avain pitää toimittaa koneelle johon ollaan loggautumassa ja se pitää lisätä käyttäjän kotihakemistossa olevaan hakemistoon .ssh tiedostoon authorized_keys aivan kuten tuolla konffissa määrittelimme. windows-käyttäjä voi luoda avaimen putty:n tarjoamalla softalla nimeltä puttygen. suosittelen generoimaan DSA-tyyppisen avaimen jonka pituus on vähintään 1024, mutta mielellään 2048 bittiä. linuxissa (ja mäkissä OsX:ssä) homma hoituu komentoriviltä komennolla '''ssh-keygen'''. luodaan dsa-tyyppisen avainpari jonka pituus on 2048 bittiä päätteessä komentamalla: {{{ $ ssh-keygen -b 2048 -t dsa |
$ ssh tunnus@palvelin -i /polku/yksityiseen/avaimeen |
Line 71: | Line 79: |
kannattanee hyväksyä tiedostojen oletussijainti ~/.ssh/id_dsa ja ~/.ssh/id_dsa.pub. noista jälkimmäinen on se julkinen avain (public) joka pitää toimittaa palvelimelle. tuo ohjelma kysyy myös salasanaa joka liitetään avaimeen ja jota käytetään jatkossa avaimen kanssa loggautuessa (se voi olla eri kuin käyttäjän kohdekoneen salasana). | === Tietoturva === Jotta avainten tuoma tietoturvalisä saataisiin oikeasti käyttöön täytyy tavallinen salasanalla kirjautuminen poistaa käytöstä. Se onnistuu yksinkertaisesti asettamalla palvelimen conffi-tiedostoon '''/etc/ssh/sshd_config''' rivi: {{{ PasswordAuthentication no }}} Ko. rivi löytyy jo sieltä, mutta kommentoituna ja arvolla "yes". Tämän jälkeen palvelin pitää tietysti käynnistää uudelleen. |
Line 73: | Line 86: |
kun meillä nyt on avain ja sitä vastaava salasana, voidaan avain kopioida paikoilleen. (huom. puttygenin generoiman avaimen alussa ja lopussa on kommenttirivi jotka on hyvä poistaa ennen avaimen lisäämistä käyttäjän tietoihin). | |
Line 75: | Line 87: |
Yksityisen avaimen lisääminen tapahtuu vaikkapa näin: | == Graaffisten ohjelmien etäkäyttö == Graaffisia ohjelmia pystyy käyttä mään suoraan ssh:n läpi kunhan yhteys otetaan -X vivun kanssa. Ennen kuin tätä voidaan käyttää täytyy se aktivoida ssh-palvelimen asetuksista. * Taas kerran muokataan palvelimen '''/etc/ssh/sshd_config'''-tiedostoa. Katso että kohdan '''X11Forwarding''':n arvona on yes ja että se ei ole kommentoituna. |
Line 77: | Line 93: |
cat <avain> >> /home/<käyttäjä>/.ssh/authorized_keys | X11Forwarding yes |
Line 80: | Line 96: |
nyt loggamista avaimeen liitetyn salasanan kanssa voi jo yrittää ja sen pitäisi onnistua. toisaalta murtautujan jolla ei ole privaattiavainta, pitäisi sisään päästäkseen arvata käyttäjätunnus, käyttäjän 2084 bittinen privaattiavain ja avainta vastaava salasana. heikolta näyttää murtautujan puolesta. | * Tallenna tiedosto ja käynnistä ssh-palvelin uudelleen. |
Line 82: | Line 98: |
== Käyttövinkkejä == linuxissa tuota privaattiavainta osataan käyttää/tarjota automaattisesti jos se on tallennettu tuonne oletussijaintiin, windowsissa sovellukselle pitää kertoa missä käytettävä avain on (sitä varten sovelluksessa on joku kenttä). |
Nyt graaffisten ohjelmien etäkäyttö pitäisi onnistua. Kannattaa myös laittaa yhteyden pakkaus päälle -C vivulla jolloin graaffinen etäyhteys helpottuu hitaammilla yhteyksillä. Huomaa että kyseessä on iso X ja C. {{{ $ ssh -XC tunnus@palvelin tunnus@palvelin:~$ xmms }}} Ja vaikka xmms:n pitäisi nyt käynnistyä. |
Line 85: | Line 105: |
Windows-sovelluksia ja GFTP:tä käytetään kuten mitä tahansa FTP-ohjelmaa, mutta Nautilus ja Konqueror toimivat hitusen eri tavalla. | |
Line 87: | Line 106: |
Nautiluksessa etäyhteys otetaan vaikkapa Places -> Connect to Server... valinnan kautta. Service type on SSH, porttia ei tarvitse antaa mutta se on 22 ellei serveri ole konffattu muuhun porttiin, ja loput kohdat ovatkin selviä. | |
Line 89: | Line 107: |
toinen vaihtoehto on painaa Nautiluksen avoimen ikkunan päällä <ctrl> + l ja kirjoittamalla riville '''sftp://<käyttäjätunnus>@<palvelin>''' ja enteriä. tuota käyttäjätunnusta ja sen jälkeen olevaa @:iä ei tarvita jos käyttäjätunnus on sama molemmilla koneilla. | == Keychain - Useita palvelimia yhden salasanan taakse == |
Line 91: | Line 109: |
Breezyssä avattuihin yhteyksiin voikin tehdä bookmarkkeja jolloin niihin pääsen helposti käsiksi myöhemmin. | Kun käytössä alkaa olla useita palvelimia, niin ainainen salasanojen syöttäminen alkaa tuntua turhauttavalta ja tulee tarve vähentää niitä. Helppo, mutta typerä ratkaisu olisi tehdä avainpari ilman salasanaa, jolloin kirjautumiseen ei koskaan tarvittaisi salasanaa. Tämä olisi tosin äärimmäisen epäturvallista, sillä jos joku saa käsiisi sinun id_rsa-tiedoston hän pystyisi kirjautumaan kaikkille niille palvelimille joille olet asettanu sen. |
Line 93: | Line 111: |
Konquerorilla homma onnistuu ainakin kirjoittamalla osoiteriville fish://<käyttäjätunnus>@<palvelin> ja tässäkään ei tarvita välttämättä tuota käyttäjätunnusta ja @:iä. | Kun sinulla on julkisella avaimella kirjautuminen käytössä, voidaan hommaa helpottaa komenolla '''ssh-add ~/.ssh/id_rsa''' joka kysyy avaimen salasanan ja ottaa sen talteen '''ssh-agent'''-ohjelmaan jonka jälkeen sinun ei enää tarvitse syöttää sitä vastaavaa salasanaa, mutta tämä toimii vai yhdessä terminaalisessiossa kerrallaan joten hyöty jää melko minimaaliseksi. Tätä korjaamaan otamme scriptin nimeltä Keychain. Aloitetaan asentamalla se {{{ $ sudo apt-get install keychain }}} Avaa tekstieditoriin '''~/.bashrc''' Laita sinne seuraavat rivit {{{ keychain --nogui id_rsa . ~/.keychain/`uname -n`-sh }}} '''id_rsa''':n tilalle voit toki suorankin polun yksityiseen avaimeesi. Siihen voi myös laittaa argumentiksi useammankin avaimen mikäli sille on tarvetta, mutta silloin joudut syöttämään yhden salasanan enemmän. Tämän jälkeen ainakin kun avaa uuden terminaalin ajetaan tuo keychain scripti. Se käynnistää ssh-agentin mikäli se ei ole käynnissä ja ensimmäisellä kerralla kysyy avaimen salasanaa. Tämän jälkeen voit avata niin monta terminaalia kuin haluat ja kirjautua niillä haluamillesi palvelimille ilman tarvetta syöttää salasanaa. Jos kuitenkin et joskus halua käynnistää ssh-agenttia voit ohittaa salasana-kyselyn painamalla ctlr-c. Kun lopetat työskentelyn voit sulkea ssh-agentin komennolla: {{{ $ ssh-agent -k }}} Tämän jälkeen kirjautujalta kysytään taas normaalisi avaimen salasanaa. == Linkkejä == * [http://forum.ubuntu-fi.org/index.php?topic=503.0 Keskustelu Ubuntu-fi foorumilla] * [http://wiki.ubuntu-fi.org/Wiki/sshfs Sshfs] - Mounttaa ssh-palvelin tiedostojärjestelmäksi * [http://wiki.ubuntu-fi.org/Wiki/Dynaaminen_DNS Dynaaminen DNS] - IP-osoite ongelmat kuriin |
SSH ja SFTP-palvelimen asennus
SSH on tietoturvaltaan erittäin hyvä tapa ottaa etäyhteyksiä telnetin tapaan. Tämän lisäksi se tarjoaa mahdollisuuden käyttää jopa graaffisia ohjelmia etänä. Ssh salaa koko yhteyden mukaan lukien yhteydenoton, joten tunnukset ja salasanat pysyvät turvassa. OpenSSH sisältää myös mahdollisuuden SFTP:llä tapahtuvaan tiedostojen siirtoon. Se vastaa täysin FTP:tä, mutta liikenne on salattua ssh-pääteyhteyden tapaan.
Palvelimen asennus
Avaa pääte ja komenna
$ sudo apt-get install openssh-server
SSH-palvelin käynnistyy samalla kuin se asennetaan, joten siihen voi heti yrittää ottaa yhteyttä joko SSH:llä tai SFTP:lla. Nythän kuka tahansa joka näkee koneen ulkoisen IP:n pystyy yrittämään koneelle sisään arvaamalla käyttäjätunnuksen ja salasanan. Ubuntussa ei onneksi ole rootin tiliä aktivoituna, joten siihen kohdistuvat yritykset ovat luonnollisesti turhia. Muutenkin nuo madot yrittävät yleensä arvailla englantilaisia erisnimiä, joten suomalaisilla koneilla niitä ei useinkaan onnista. Olisi kuitenkin mukavaa jos pystyisi määräämään ketkä saavat ottaa koneelle yhteyttä, ja sen toki pystyykin tekemään seuraavasti.
Avaa tekstieditorissa pääkäyttäjän oikeuksin (sudo) tiedosto /etc/ssh/sshd_config
etsi kohta PermitRootLogin yes ja muuta sen arvoksi no
Voit rajoittaa ssh:n käyttöoikeuden tietyille käyttäjille lisäämällä tiedoston loppupuolelle rivi joka alkaa avainsanalla AllowUsers ja listataan sen perään välilyönnillä erotettuna käyttäjät jotka saavat ottaa koneeseen yhteyden
AllowUsers janne mikk0 ninnnu
- tallenna tiedosto ja käynnistä palvelin uudestaan komentamalla:
$ sudo /etc/init.d/ssh restart
Nyt koneelle pääsee vain tunnuksilla janne, mikk0 ja ninnnu Tällä tietoturvatasolla voi aloittaa. Kannattaa kuitenkin seurata tiedostosta /var/log/messages, keitä koneelle on yrittänyt sisään.
Yksityisen ja julkisen avaimen käyttöönotto
Yksityisellä ja julkisella avaimella voidaan tiukentaa tietoturva vaatimuksia, jolloin kirjautumiseen tarvitaan vähintään 1024 bittinen avain-tiedosto sekä sitä vastaava salasana. Tai niillä voidaan myös vähentään salasanojen ainaista kirjoittelua (alempana lisää). Käyttäjien täytyy luoda itselleen avaimet joita tulee kaksi kappaletta: julkinen ja yksityinen. Julkinen avain pitää toimittaa palvelimelle johon ollaan kirjautumassa ja yksityinen avain pitää lisätä käyttäjän kotihakemistossa olevaan hakemistoon .ssh. Julkinen avain siis määrää millä yksityisellä avaimella saa kirjautua sisään.
Avainparin luominen asiakaskoneella
- Luodaan rsa-tyyppisen avainpari jonka pituus on 2048 bittiä päätteessä komentamalla:
$ ssh-keygen -t rsa
Kannattanee hyväksyä tiedostojen oletussijainti ~/.ssh/id_rsa ja ~/.ssh/id_rsa.pub. Noista ensimmäinen eli yksityinen avain tulee siis pitää visusti poissa ulkopuolisten silmistä! Ja jälkimmäinen on se julkinen avain joka toimitetaan palvelimelle. Tuo ohjelma kysyy myös salasanaa joka liitetään avaimeen ja jota käytetään jatkossa avaimen kanssa kirjautuessa (se voi olla eri kuin käyttäjän kohdekoneen salasana).
Käyttöönotto palvelimessa
Avaa taas tiedosto /etc/ssh/sshd_config pääkäyttäjän oikeuksin
- Etsi kohta
#AuthorizedKeysFile %h/.ssh/authorized_keys
Poista kommentointi (se risuaita siitä alusta). - Tallenna tiedosto ja käynnistä palvelin uudestaan.
Julkisen avaimen lisääminen palvelimelle
- Kopioidaan julkinen avain asiakaskoneelta palvelimelle
$ scp ~/.ssh/id_rsa.pub tunnus@palvelin:
Ole tässä tarkkana ettet vahingossakaan lähetä yksityistä avainta (id_rsa) palvelimelle!
- Kirjaudutaan palvelimelle
$ ssh tunnus@palvelin
- Lisätään avain
$ cat id_rsa.pub >> .ssh/authorized_keys
- Ja lopuksi kannattanee vielä poistaa turha avaintiedosto palvelimelta
$ rm id_rsa.pub
Tämän saman tempun voi tehdä siis niin monelle palvelimelle kuin haluaa tällä samalla id_rsa.pub -tiedostolla. Nyt sinun pitäisi pystyä kirjautumaan niille kaikille palvelimille sillä salasanalla jonka asetit tuolle avaimelle.
Ssh osaa siis käyttää suoraan tuota yksityistä avainta kunhan se on tallennettu oletussijaintiin. Jos haluat käyttää muualle tallennettua avainta niin se onnistuu -i vivulla:
$ ssh tunnus@palvelin -i /polku/yksityiseen/avaimeen
Tietoturva
Jotta avainten tuoma tietoturvalisä saataisiin oikeasti käyttöön täytyy tavallinen salasanalla kirjautuminen poistaa käytöstä. Se onnistuu yksinkertaisesti asettamalla palvelimen conffi-tiedostoon /etc/ssh/sshd_config rivi:
PasswordAuthentication no
Ko. rivi löytyy jo sieltä, mutta kommentoituna ja arvolla "yes". Tämän jälkeen palvelin pitää tietysti käynnistää uudelleen.
Graaffisten ohjelmien etäkäyttö
Graaffisia ohjelmia pystyy käyttä mään suoraan ssh:n läpi kunhan yhteys otetaan -X vivun kanssa. Ennen kuin tätä voidaan käyttää täytyy se aktivoida ssh-palvelimen asetuksista.
Taas kerran muokataan palvelimen /etc/ssh/sshd_config-tiedostoa. Katso että kohdan X11Forwarding:n arvona on yes ja että se ei ole kommentoituna.
X11Forwarding yes
- Tallenna tiedosto ja käynnistä ssh-palvelin uudelleen.
Nyt graaffisten ohjelmien etäkäyttö pitäisi onnistua. Kannattaa myös laittaa yhteyden pakkaus päälle -C vivulla jolloin graaffinen etäyhteys helpottuu hitaammilla yhteyksillä. Huomaa että kyseessä on iso X ja C.
$ ssh -XC tunnus@palvelin tunnus@palvelin:~$ xmms
Ja vaikka xmms:n pitäisi nyt käynnistyä.
Keychain - Useita palvelimia yhden salasanan taakse
Kun käytössä alkaa olla useita palvelimia, niin ainainen salasanojen syöttäminen alkaa tuntua turhauttavalta ja tulee tarve vähentää niitä. Helppo, mutta typerä ratkaisu olisi tehdä avainpari ilman salasanaa, jolloin kirjautumiseen ei koskaan tarvittaisi salasanaa. Tämä olisi tosin äärimmäisen epäturvallista, sillä jos joku saa käsiisi sinun id_rsa-tiedoston hän pystyisi kirjautumaan kaikkille niille palvelimille joille olet asettanu sen.
Kun sinulla on julkisella avaimella kirjautuminen käytössä, voidaan hommaa helpottaa komenolla ssh-add ~/.ssh/id_rsa joka kysyy avaimen salasanan ja ottaa sen talteen ssh-agent-ohjelmaan jonka jälkeen sinun ei enää tarvitse syöttää sitä vastaavaa salasanaa, mutta tämä toimii vai yhdessä terminaalisessiossa kerrallaan joten hyöty jää melko minimaaliseksi. Tätä korjaamaan otamme scriptin nimeltä Keychain.
- Aloitetaan asentamalla se
$ sudo apt-get install keychain
Avaa tekstieditoriin ~/.bashrc Laita sinne seuraavat rivit
keychain --nogui id_rsa . ~/.keychain/`uname -n`-sh
id_rsa:n tilalle voit toki suorankin polun yksityiseen avaimeesi. Siihen voi myös laittaa argumentiksi useammankin avaimen mikäli sille on tarvetta, mutta silloin joudut syöttämään yhden salasanan enemmän.
Tämän jälkeen ainakin kun avaa uuden terminaalin ajetaan tuo keychain scripti. Se käynnistää ssh-agentin mikäli se ei ole käynnissä ja ensimmäisellä kerralla kysyy avaimen salasanaa. Tämän jälkeen voit avata niin monta terminaalia kuin haluat ja kirjautua niillä haluamillesi palvelimille ilman tarvetta syöttää salasanaa. Jos kuitenkin et joskus halua käynnistää ssh-agenttia voit ohittaa salasana-kyselyn painamalla ctlr-c.
Kun lopetat työskentelyn voit sulkea ssh-agentin komennolla:
$ ssh-agent -k
Tämän jälkeen kirjautujalta kysytään taas normaalisi avaimen salasanaa.
Linkkejä
[http://forum.ubuntu-fi.org/index.php?topic=503.0 Keskustelu Ubuntu-fi foorumilla]
[http://wiki.ubuntu-fi.org/Wiki/sshfs Sshfs] - Mounttaa ssh-palvelin tiedostojärjestelmäksi
[http://wiki.ubuntu-fi.org/Wiki/Dynaaminen_DNS Dynaaminen DNS] - IP-osoite ongelmat kuriin