Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Hrátky z řádky: používáme ssh

Vzdálené ovládání počítače pomocí ssh je v unixovém světě jistě nejpoužívanější způsob. Jeho výhodou je nenáročnost na zdroje a především rozšířenost. Dnes si ukážeme, jak se takové ssh správně používá, jak se přihlašovat pomocí klíčů a také třeba to, jak použít ssh k zálohování dat ze serveru.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Kdo pracuje s linux/unix systémy, určitě denně používá ssh. Trochu z jeho historie – ssh vzniklo v roce 1995 jako náhrada starších programů telnet, rlogin, rsh, … Ty už v té době přestaly dostačovat – chybělo šifrování, kontrola integrity dat. Na Helsinské univerzitě vypracoval Tatu Ylönen protokol ssh verze 1. Pak se to trochu zkomplikovalo, protože autor protokol uzavřel. Jenže ssh už v té době používala spousta lidí, a proto vzniklo openSSH, které asi používá většina z nás. Za nějakou dobu vznikla verze 2, která se používá dnes. Ssh je tedy náhradou výše zmíněných programů, ale nabízí i několik věcí navíc, např. volitelná komprese, tunely,… Ssh dále využívají třeba protokoly scp a sftp. Ssh pracuje na TCP portu 22.

Dnes se podíváme na základní věci – přihlašování heslem, klíčem, rychlé přihlašování, vykonání příkazu na vzdáleném stroji a jak toho využít. Příště si pak povíme o konfiguraci sshd, scp, sftp, jak spolupracovat s komerčním SSH a další věci.

Dnes se budeme věnovat pouze openssh a verzi 2, pokud budeme používat klíče, bude se jednat o dsa.

Jakou verzi používáme, můžeme zjistit dvěma způsoby:

[pm@minastirith pm]$ ssh -V
OpenSSH_4.2p1 FreeBSD-20050903, OpenSSL 0.9.7e-p1 25 Oct 2004

[pm@minastirith pm]$ telnet www.mujserver.cz 22
Trying 195.18.214.5
Connected to www.mujserver.cz.
Escape character is '^]'.
SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110

Běžné přihlášení ( ssh www.mujserver.cz nebo ssh franta@www.mujserver.cz) zná asi každý. Nikoho ale asi nebaví psát takhle dlouhý příkaz častěji. Pomoc je snadná. Ve svém domovském adresáři máte (nebo si jej vytvořte) adresář .ssh. Práva na něj a jeho obsah by měl mít jen jeho vlastník a nikdo jiný. Jsou v něm uložené důležité údaje. Ssh např. při přihlašování klíčem vlastnictví souborů ověřuje a odmítne spojení, pokud nejste vlastník souborů:

pm@pm-desktop:~$ ls -al .ssh/
drwx------  2 pm pm   4096 2008-04-17 16:03 .
drwxr-xr-x 60 pm pm   4096 2008-04-29 15:46 ..
-rw-------  1 pm pm   2402 2008-04-17 16:03 config
-rw-------  1 pm pm    668 2004-12-09 16:26 id_dsa
-rw-------  1 pm pm    598 2004-12-09 16:26 id_dsa.pub
-rw-------  1 pm pm 141426 2008-04-24 08:54 known_hosts

Nejprve nás bude zajímat soubor config. Malá ukázka:

Host server1
   Hostname server1.firma2.cz
   User pm

Host doma
   Hostname mail.doma.cz
   User pm
   Compression no

Host *
   Compression yes
   ForwardAgent yes
   ForwardX11 yes
   RhostsAuthentication no
   RhostsRSAAuthentication no
   RSAAuthentication yes
   TISAuthentication no
   PasswordAuthentication yes
   FallBackToRsh no
   UseRsh no
   BatchMode no
   StrictHostKeyChecking no
   IdentityFile ~/.ssh/identity
   Port 22
   EscapeChar ~

Formát je jednoduchý, vše za host xxx jsou parametry platné pro server xxx. Ukončeno je to dalším řádkem host yyy nebo koncem souboru. Takže máme nastavené dva servery a potom ještě výchozí parametry týkající se ostatních. Pokud se chceme přihlásit na server doma, stačí zadat jen:

[pm@minastirith pm]$ ssh doma

V tom případě se použije uživatel pm a nebude se používat komprese. Kdo je maximalista a i tohle mu přijde dlouhé, může si vytvořit třeba skript nebo alias:

export alias d='ssh pm@mail.doma.cz'

Zadávat heslo nás také pokaždé nebude bavit nebo může nastat situace, kdy se na stroj chceme přihlašovat neinteraktivně. Tady na řadu přichází klíče. Princip je snadný. Vygenerujeme si dvojici klíčů – soukromý a veřejný. Dělá se to pomocí příkazu:

[pm@minastirith pm]$ ssh-keygen -t dsa

Při generování se nás program zeptá na tzv. passphrase. Když ji vyplníte, zvýšíte tím sice bezpečnost, ale opět budete muset zadávat nějaké heslo. Takže passphrasi nevyplníme. Teď máme vygenerované dva soubory. id_dsa je náš privátní klíč, a ten si musíme udržet schovaný před světem. Naopak soubor id_dsa.pub musíme rozdistribuovat na stroje, kam se chceme hlásit. Jedna z možných cest:

[pm@minastirith pm]$ cat id_dsa.pub | ssh pm@mail.doma.cz 'cat >> /home/pm/.ssh/authorized_keys'

Když použijeme výše zmíněný soubor config, stačí už jen zadat:

[pm@minastirith pm]$ ssh doma

a jsme přihlášeni, ověření uživatele se provedlo pomocí klíče. V případě problému s klíčem bude patrně nabídnuto ověření heslem. Toto už ale záleží na konfiguraci sshd.

Výše zmíněný způsob přidání klíče na druhý stroj je další věc, o které se chci zmínit. Jste asi zvyklí, že po přihlášení se spustí shell a můžete pracovat. V některých případech, ale toto ani nepotřebujeme, chceme třeba jen spustit příkaz a dozvědět se výsledek (v podstatě funkce programu rsh). Stačí za přihlášení zadat požadovaný příkaz:

pm@pm-desktop:~/.ssh$ ssh pm@mail.doma.cz uname -a
FreeBSD mail.doma.cz 6.2-RELEASE-p4 FreeBSD 6.2-RELEASE-p4 #0: Mon May 21 11:33:00 CEST 2007     root@mail.doma.cz:/usr/obj/usr/src/sys/KERNEL_MAIL_DOMA_CZ  i386

Často takovou věc používám ke sběru dat ze serverů. Je to snadné, protože ssh je všude a zároveň bezpečné. Dá se to například použít k jednoduchému zálohování. Když chceme třeba zazálohovat konfiguraci serveru, svou cron tabulku a přenést nějakou MySQL databázi na jiný server:

[pm@minastirith pm]$ ssh doma tar -cf - /etc | tar -xf -

[pm@minastirith pm]$ ssh doma crontab -l > zaloha_crontab

[pm@minastirith pm]$ ssh doma mysqldump -uuser -pheslo db1 | mysql -uuser -pheslo zaloha_db1

Školení: Linux – Firemní server

Na třídenním školení se naučíte nainstalovat a spravovat kompletní linuxový server do Vaší firmy se všemi základními službami, které potřebujete pro provoz Vaší sítě, firemních emailů a webových stránek.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,91

Přehled názorů

ssh-agent
Michal Dočekal 5. 5. 2008 01:01
Nový
└ 
Re: ssh-agent
Petr Macek 5. 5. 2008 07:36
Nový
ssh vzdalene provedeni prikazu
Banik 5. 5. 2008 01:06
Nový
└ 
Re: ssh vzdalene provedeni prikazu
msk 5. 5. 2008 09:18
Nový
 
└ 
Re: ssh vzdalene provedeni prikazu
Banik 5. 5. 2008 09:39
Nový
RE: Hrátky z řádky: používáme ssh
Banik 5. 5. 2008 01:08
Nový
└ 
RE: Hrátky z řádky: používáme ssh
anonymní uživatel 5. 5. 2008 06:13
Nový
 
└ 
RE: Hrátky z řádky: používáme ssh
pht 5. 5. 2008 06:50
Nový
 
 
└ 
RE: Hrátky z řádky: používáme ssh
Plague 6. 5. 2008 00:21
Nový
 
 
 
└ 
RE: Hrátky z řádky: používáme ssh
J 6. 5. 2008 21:00
Nový
 
 
 
 
└ 
RE: Hrátky z řádky: používáme ssh
VM 7. 5. 2008 16:14
Nový
 
 
 
 
 
└ 
RE: Hrátky z řádky: používáme ssh
dzodzo 8. 5. 2008 13:14
Nový
RE: Hrátky z řádky: používáme ssh
menphis 5. 5. 2008 04:04
Nový
├ 
RE: Hrátky z řádky: používáme ssh
bauer 5. 5. 2008 07:20
Nový
├ 
RE: Hrátky z řádky: používáme ssh
Petr Macek 5. 5. 2008 07:42
Nový
└ 
RE: Hrátky z řádky: používáme ssh
Petr Macek 5. 5. 2008 07:54
Nový
RE: Hrátky z řádky: používáme ssh
pht 5. 5. 2008 06:46
Nový
└ 
RE: Hrátky z řádky: používáme ssh
pht 5. 5. 2008 06:48
Nový
 
└ 
RE: Hrátky z řádky: používáme ssh
Petr Macek 5. 5. 2008 07:43
Nový
 
 
└ 
RE: Hrátky z řádky: používáme ssh
Tom 5. 5. 2008 16:25
Nový
kopirovani verejneho klice
anonymní uživatel 5. 5. 2008 09:30
Nový
└ 
Re: kopirovani verejneho klice
Petr Macek 5. 5. 2008 10:19
Nový
RE: Hrátky z řádky: používáme ssh.
rhn 5. 5. 2008 09:54
Nový
└ 
RE: Hrátky z řádky: používáme ssh.
Ondrej 'SanTiago' Zajicek 5. 5. 2008 22:39
Nový
prejmenovani binarky SSH
boris 5. 5. 2008 10:15
Nový
├ 
Re: prejmenovani binarky SSH
Radek Nováček 5. 5. 2008 11:08
Nový
│
└ 
Re: prejmenovani binarky SSH
boris 5. 5. 2008 11:12
Nový
│
 
└ 
Re: prejmenovani binarky SSH
Jan Seifert 5. 5. 2008 11:19
Nový
│
 
 
└ 
Re: prejmenovani binarky SSH
boris 5. 5. 2008 11:28
Nový
│
 
 
 
└ 
Re: prejmenovani binarky SSH
Petr 5. 5. 2008 18:43
Nový
│
 
 
 
 
└ 
Re: prejmenovani binarky SSH
Tomáš 5. 5. 2008 21:47
Nový
│
 
 
 
 
 
└ 
Re: prejmenovani binarky SSH
A 6. 5. 2008 00:12
Nový
│
 
 
 
 
 
 
└ 
Re: prejmenovani binarky SSH
anonymní uživatel 7. 5. 2008 02:11
Nový
└ 
Re: prejmenovani binarky SSH
anonymní uživatel 5. 5. 2008 15:34
Nový
pridavek
amores peros 5. 5. 2008 10:17
Nový
Bezpečnost
Miiiiiichal 5. 5. 2008 10:58
Nový
└ 
Re: Bezpečnost
amores peros 5. 5. 2008 11:49
Nový
Jaky je rozdil mezi RSA a DSA, proc volit DSA?
Tom 5. 5. 2008 16:30
Nový
└ 
Re: Jaky je rozdil mezi RSA a DSA, proc volit DSA?
Plague 6. 5. 2008 00:19
Nový
Autor zapomněl zmínit programové chyby
anonymní uživatel 6. 5. 2008 17:27
Nový
└ 
Re: Autor zapomněl zmínit programové chyby
anonymní uživatel 7. 5. 2008 02:14
Nový
 
└ 
Re: Autor zapomněl zmínit programové chyby
anonymní uživatel 7. 5. 2008 16:10
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem