Komennon ajaminen usealle käyttäjälle SSH-yhteydellä

Sain tehtäväksi muodostaa joko useaan koneeseen yhteyden ssh:lla tai useaan yhden koneen käyttäjään sekä suorittaa komentoja yhtäaikaisesti kaikille yhteyksille. Useiden koneiden alustamisen ja hallinnan kannalta tämä on oleellinen taito, joka säästää aikaa ja vaivaa sekä mahdollistaa konfiguroinnin etänä, jolloin esimerkiksi kaveria voi auttaa tai siirtää tiedostoja suoraan ssh-yhteyden päästä.

 

Päätin luoda virtuaalisen koneen virtualbox-ohjelmalla, johon luon useita käyttäjiä fyysisen koneeni kautta. Molempiin asensin xubuntu linux 12.04 -käyttöjärjestelmän.

 

02:35  Virtualbox

Aloitin asentamalla virtualboxin, jotta saan kokeiltua etäyhteyttä toiseen “koneeseen” . Latasin koneelleni virtualbox-4.2 i386-version .deb-paketin, jonka asensin suoraan käyttäen Ubuntu software centerin pakkauksenhallintaa.

 

02:44 uusi virtuaalikone

käynnistin virtualboxin ja luon uuden koneen new-nappia klikkaamalla, nimeksi annoin “xubuntu”, käyttöjärjestelmän tyypiksi ubuntu linux.

Oletuksena virtualbox ehdottaa 512Mb varaamista välimuistista virtuaalikoneen käyttöön. Periaatteessa vähempikin riittää, mutta luultavasti tulen virtuaalikonetta jatkossakin käyttämään, joten pidän oletusasetuksen eli 512Mb.

Loin uuden virtuaalisen kiintolevyn koneelle, jonka tilanmääräksi asetin 4,35Gb ja tyypiksi Virtual Image disk. Nyt minulla on valmis virtuaalikone.

 

02:51 Virtuaalikoneen käyttöjärjestelmä

seuraavaksi aloin asentamaan virtuaalikoneelle käyttöjärjestelmää. Käytin aiemmin luomaani xubuntu linux 12.04 -live-cd:tä, jonka luonnin tein artikkelissa: https://kristerholmstrom.wordpress.com/2012/08/21/xubuntu-linux-12-04-asentaminen/

 

käynnistin virtuaalikoneen, jolloin ohjattu käyttöjärjestelmäasennus kysyy lähdettä, jossa käyttöjärjestelmäasennus löytyy, valitsen DVD-asemani ja laitoin live-CD:n sisään. Seuraavaksi asensin käyttöjärjestelmän kuten tavalliseenkin koneeseen.

 

04:00 Demoni

asensin openSSH-demonin virtuaalikoneelle, jotta saan muodostettua yhteyden omalta koneeltani.

 

04:03 IP-osoite

tarkistin koneen IP-osoitteen komennolla

 

$ ip addr

 

koska asetin virtuaalisen verkkokortin NAT-tilaan, ip-osoite oli muotoa 10.0.2.15.

OpenSSH-demoni oli asennettu ja IP-osoite tiedossa, joten seuraavaksi siirryin fyysisen koneeni puolelle muodostamaan yhteyttä.

 

04:10 yhdistäminen

 

avasin terminaalin ja kirjoitin komennon

 

$ ssh krister@10.0.2.15

 

jossa “krister” on käyttäjänimi virtuaalikoneella, johon haluan kirjautua.

Yritys epäonnistui, en onnistunut yhdistämään virtual boxille. Sain vain virheilmoituksen aikakatkaisusta

 

“ssh: connect to host 10.0.2.15 port 22: Connection timed out”

 

sensijaan kokeilin yhdistää virtuaalikoneelta fyysiselle koneelleni ja se onnistui. Ilmeisesti virtualbox suojaa portteja myös lähiverkosta tulevilta pyynnöiltä oletuksena.

Päätin tehdä tehtävän loppuun syöttäen komennot virtuaalikoneelta ja ohjailemalla fyysistä konettani.

 

04:20 julkinen avain

helpotin kirjautumistani luomalla julkisen avaimen varmennuksen, jolla virtuaalikone tunnistautuu fyysiselle koneelleni. Käytin komentoa

 

$ ssh-keygen

 

seuraavaksi siirsin julkisen avaimen ssh-yhteydellä fyysiselle koneelleni

 

$ ssh-copy-id krister@192.168.1.67

 

ohjelma ilmoitti että suoritti siirron onnistuneesti ja pyysi vielä muodostamaan ssh-yhteyden koneeseen, jotta voin varmistua avaimen toimivuudesta. Muodostin ssh-yhteyden ja salasanakyselyä ei tullut lainkaan, näinollen julkinen avainsalaus toimi.

 

04:30 uudet käyttäjät

 

seuraavaksi luon kaksi uutta käyttäjää koneelleni, kun olen kirjautuneena fyysiselle koneelleni

 

$ sudo adduser vieras

 

$ sudo adduser mikko

 

nyt minulla on kolme käyttäjää fyysisellä koneellani: krister, mikko ja vieras.

 

04:35 julkiset avaimet ja komennon etäajo

lisään julkiset avaimet myös näihin uusiin käyttäjätileihin. Katkaisen ensin ssh-yhteyden ja kirjoitan komennot

 

$ ssh-copy-id mikko@192.168.1.67

 

$ ssh-copy-id vieras@192.168.1.67

 

testasin vielä molemmat salaukset ja ne toimivat.

Nyt pystyin suorittamaan komentoja etänä kaikille käyttäjille yhteisesti

 

esimerkiksi haluan ajaa komennon “w” kaikilla käyttäjillä, kirjoitan:

 

$ for S in krister mikko vieras ; do ssh $S@192.168.1.67 w; done

komento toimi ja kaikista kolmesta käyttäjätunnuksesta tuli ssh:n välityksellä vastaukset.

 

Lähde:

http://myy.helia.fi/~karte/control_many_computers_with_ssh.html

 

GNU Free Documentation License

Version 1.3, 3 November 2008

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <http://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Mainokset

About Krister Holmström

Opiskelen Haaga-Heliassa Tietojenkäsittelyn koulutusohjelmassa. Kerään kotitehtäviini ja projekteihin liittyviä raportteja ja materiaaleja blogiini, jotta tieto olisi helpommin saatavilla.

Vastaa

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

WordPress.com-logo

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

Google photo

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

Twitter-kuva

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

Facebook-kuva

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

Muodostetaan yhteyttä palveluun %s

%d bloggers like this: