]> rtime.felk.cvut.cz Git - edu/osp-wiki.git/blobdiff - cviceni/rtime-git-ssh-key.mdwn
lectures: minor update of link to LinuxDays 2023 presentation listing.
[edu/osp-wiki.git] / cviceni / rtime-git-ssh-key.mdwn
index c770d1ae4b5ce8dd5a4f142985116bc4c59f0095..03589605204c0bb553e39d94c143150f9621b70d 100644 (file)
@@ -3,7 +3,9 @@
 Přístup se děje protokolem SSH (*ssh://git@rtime.felk.cvut.cz/...*) a
 uživatelé jsou autorizováni výhradně pomocí SSH klíčů. Hláška
 "*Permission denied (publickey).*" znamená, že nemáte SSH klíče
-správně nastaveny.
+správně nastaveny. Otestovat přístup si můžete příkazem
+
+    ssh git@rtime.felk.cvut.cz info
 
 Server rtime automaticky importuje veřejné klíče z vašeho školního
 home adresáře. Import probíhá každou celou hodinu a ve čtvrtek přes
@@ -22,10 +24,11 @@ uloží do správného adresáře pod správným jménem.
 
 Pokud veřejný klíč kopírujete do svého domovského adresáře z jiného
 počítače, je nezbytně nutné, aby byla správně nastavena práva k vašemu
-adresáři s SSH daty. Do adresáře nesmí mít přístup nikdo jiný než vlastník.
-K privátnímu klíči (ten bez `*.pub`) nesmí mít ostatní uživatelé
-A také žádný přístup a k veřejnému klíči by naopak měla být práva
-pro čtení nastavena pro všechny.
+adresáři s SSH daty. Do adresáře nesmí mít přístup nikdo jiný než
+vlastník. K privátnímu klíči (ten bez `*.pub`) nesmí mít přístup
+ostatní uživatelé. K veřejnému klíči by naopak měla být práva pro
+čtení nastavena pro všechny. Aktuálně nastavená práva si můžete
+zkontrolovat pomocí následujících příkazů:
 
     uzivatel@postel:~$ ls -ld ~/.ssh
     drwx------ 2 uzivatel users 136 Mar  9 12:23 /home/pisa/.ssh
@@ -36,10 +39,25 @@ pro čtení nastavena pro všechny.
     -rw-r--r-- 1 uzivatel users  393 Mar  9 12:23 id_rsa.pub
     -rw-r--r-- 1 uzivatel users 4272 Dec  7 09:39 known_hosts
 
-**Pro kontrolu svých klíčů použijte příkaz `check-ssh-key`**, který
-upozorní na případné problémy a vypíše, které klíče budou na server
-`rtime` automaticky importovány. Pokud máte problém s právy k souborům
-či adresářům, prostudujte si dokumentaci `man chmod`.
+Zkontrolujte si vaše klíče příkazem
+
+    check-ssh-key
+
+Ten upozorní na případné problémy a vypíše, které klíče budou na
+server `rtime` automaticky importovány. Pokud máte problém s právy
+k souborům či adresářům, prostudujte si dokumentaci `man chmod`.
+
+Po úspěšném importu vašeho klíče by měl výstup příkazu `check-ssh-key`
+vypadat zhruba následovně:
+
+    Public keys in your home directory
+    ==================================
+    /home/sojkam1/.ssh/id_rsa.pub will be imported
+    
+    Server status
+    =============
+    Last import run on Fri Mar 21 20:00:34 CET 2014
+    /home/sojkam1/.ssh/id_rsa.pub imported
 
 Doporučujeme, abyste si klíč **zašifrovali heslem** (enter a
 passphrase), protože pak nebude moct být váš soukromý klíč zneužit
@@ -48,18 +66,22 @@ Pokud tak učiníte, může se vám hodit příkaz `ssh-add`, kterým klíč
 rozšifrujete v paměti svého počítače a až do vašeho odlogování heslo
 nebudete muset zadávat.
 
-## SSH agent
+## SSH agent na serveru postel
 
 Hesla v paměti udržuje služba `ssh-agent`, která běží na počítačích
 v laboratořích (a i na většině běžných GNU/Linux distribucí) pro každé
 lokální sezení. K této službě se pro vložení klíče připojuje program
 `ssh-add` stejně jako si příkazy `ssh` (i při použití SSH protokolu
-v `git`u) si nechají touto službou podepisovat autentikační tokeny
+v `git`u) si nechají touto službou podepisovat autentizační tokeny
 privátním klíčem.
 
 Na serveru `postel` není automaticky pro vzdálená sezení `ssh-agent` spuštěn.
 Je potřeba si ho pustit, zajistit nastavení proměnných prostředí `SSH_AGENT_PID`
-a `SSH_AGENT_SOCKET` a při odhlášení agenta ukončit příkazem `kill $SSH_AGENT_PID`
+a `SSH_AGENT_SOCKET`. Toho lze docílit příkazem:
+
+    eval $(ssh-agent)
+
+Při odhlášení je vhodné agenta ukončit příkazem `kill $SSH_AGENT_PID`,
 případně `killall ssh-agent`.
 
 Případně je možné agenta pustit na svém lokálním počítači a zajistit