SSH automatisointi usealle käyttäjälle

Tämä artikkeli kertoo kuinka voit automatisoida SSH kirjautumisen niin, että sinun ei tarvitse kirjoittaa salasanaa joka kerta kun otat yhteyden SSH:lla. Esimerkissä on käytössä Linuxin Xubuntu 12.04 versio. Tarkemmat konetiedot näet täältä. Artikkelin alussa käyn läpi SSH:n kirjautumisen yhdellä käyttäjälle ja lopussa lisätään muutama käyttäjä lisää.

SSH avaimen luominen

Aluksi meidän tulee luoda avain, jonka voimme jakaa koneelle, johon haluamme olla yhteydessä. Tämä onnistuu komennolla

xubuntu@xubuntu:~$ ssh-keygen -t dsa

Kun olemme antaneet komennon tulee seuraava ilmoitus:

Generating public/private dsa key pair.
Enter file in which to save the key (/home/xubuntu/.ssh/id_dsa):
Created directory ’/home/xubuntu/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/xubuntu/.ssh/id_dsa.
Your public key has been saved in /home/xubuntu/.ssh/id_dsa.pub.
The key fingerprint is:
0c:80:79:fb:f2:80:3b:df:e4:8d:4d:83:be:17:59:b8 xubuntu@xubuntu
The key’s randomart image is:
+–[ DSA 1024]—-+
|   o.            |
|  o ..           |
|   . ..  .       |
|    .  o. .      |
|   . .  S+       |
|  . o ..E        |
|   . +o o.       |
|  o  =.=..       |
|   o. *oo        |
+—————–+
xubuntu@xubuntu:~$

Aluksi käyttäjältä kysytään mihin kansioon hän haluaa luoda SSH avainparin. Tähän kotikansio on helppo ja turvallinen paikka. On tärkeää, että kukaan muu ei pääse käsiksi kyseiseen kansioon ja tiedostoihin. Seuraavaksi kysytään salasanaa (Passphrase) johon voit painaa enteriä, jolloin yhdistäessäsi SSH:lla sinulta ei tulla kysymään salasanaa. Nyt SSH-avaimen luonti on valmis. Seuraavaksi onkin aika yhdistää SSH palvelimelle. Jos sinulla ei vielä ole SSH palvelinta, katso kuinka openssh-server asennetaan

SSH-palvelimeen yhdistäminen

SSH-palvelimeen yhdistäminen tapahtuu komennolla ssh käyttäjänimi@osoite

xubuntu@xubuntu:~$ ssh xubuntu@localhost
The authenticity of host ’localhost (127.0.0.1)’ can’t be established.
ECDSA key fingerprint is 8c:14:cc:7a:b2:9a:ee:38:ea:45:8b:c3:af:85:a4:50.
Are you sure you want to continue connecting (yes/no)?
Warning: Permanently added ’localhost’ (ECDSA) to the list of known hosts.
xubuntu@localhost’s password:

Nyt olemme kirjautuneet sisälle. Seuraavaksi meidän tulee kopioida salausavaimemme julkinen osa palvelimelle. Tämä tapahtuu seuraavasti:

xubuntu@xubuntu:~$ ssh-copy-id -i ~/.ssh/id_dsa.pub localhost
xubuntu@localhost’s password:
Now try logging into the machine, with ”ssh ’localhost'”, and check in:

~/.ssh/authorized_keys

to make sure we haven’t added extra keys that you weren’t expecting.

Nyt olemme siirtänee avaimen onnistuneesti palvelimelle. Seuraavaksi meidän tulee kirjautua ulos ja tarkistaa, että automaattinen kirjautuminen toimii.

xubuntu@xubuntu:~$ logout
Connection to localhost closed.
xubuntu@xubuntu:~$ ssh localhost
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic i686)

* Documentation:  https://help.ubuntu.com/

Last login: Tue Sep 18 13:39:47 2012 from localhost
xubuntu@xubuntu:~$

Ja nyt olemme onnistuneesti luoneet Automaattisen kirjautumisen SSH yhteydellä.

SSH yhteys usealla käyttäjällä ja komennon antaminen

Nyt olemme onistuneesti saaneet yhden käyttäjän automatisoitua. Seurvaaksi kirjaudumme toisella tunnuksella ja annamme uudestaan komennon:

ssh-copy-id -i ~/.ssh/id_dsa.pub localhost

Kun olet luonut riittävästi useita eri käyttäjiä, tulee vastaan kysymys: kuinka antaa komentoja kaikille samaan aikaan ? Itse ratkaisin ongelman tekemällä yksinkertaisen scriptin ja tallensin sen omalle koneelleni nimellä komento.sh :

#!/bin/bash

komento=”mkdir testfolder”

ssh petri@localhost $komento
ssh xubuntu@localhost $komento

Nyt scripti ajattaessa komennolla ” bash komento.sh ” tekee kansion testifolder komennolla mkdir. Listassa voisi olla myös useampi yhteyksiä ja siihen on helppo vaihtaa komento. Mikään yhteys ei kysy salasanaa, koska kaikkiin on automaattinen SSH-kirjautuminen

Tämä artikkeli tehtiin 18. syyskuuta 2012 klo 13-15 välisenä aikana

Lähteet:

Tero karvinen (http://terokarvinen.com/) / Oppitunnit 12.09.2012

Advertisement

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s