Připojení k SSH bez hesla
Z MiS
(Rozdíly mezi verzemi)
m (→Postup: Opravy vzhledu.) |
(Doplnění a upřesnění návodu.) |
||
Řádka 6: | Řádka 6: | ||
#* v příkazovém řádku (<code>cmd</code>) příkazem <code>ssh-keygen</code>, | #* v příkazovém řádku (<code>cmd</code>) příkazem <code>ssh-keygen</code>, | ||
#* klíče uložte do své domovské složky do souborů <code>id_rsa</code> (soukromý klíč) a <code>id_rsa.pub</code> (veřený klíč). | #* klíče uložte do své domovské složky do souborů <code>id_rsa</code> (soukromý klíč) a <code>id_rsa.pub</code> (veřený klíč). | ||
− | |||
− | |||
− | |||
− | |||
− | |||
# Zkontrolujte, že máte na serveru nainstalován SSH server (balíček <code>openssh</code>) a že máte povoleno přihlašování bez hesla (mělo by být nastaveno jako výchozí). | # Zkontrolujte, že máte na serveru nainstalován SSH server (balíček <code>openssh</code>) a že máte povoleno přihlašování bez hesla (mělo by být nastaveno jako výchozí). | ||
#* Instalaci balíčků znáte, | #* Instalaci balíčků znáte, | ||
#* spuštění balíčku ověříte pomocí příkazu <code>systemctl status</code>, | #* spuštění balíčku ověříte pomocí příkazu <code>systemctl status</code>, | ||
#* nastavení SSH je v souboru <code>/etc/ssh/ssh_config</code>. | #* nastavení SSH je v souboru <code>/etc/ssh/ssh_config</code>. | ||
+ | # Veřejný klíč přeneste na server (skutečný server, virtuální stroj,…) do souboru <code>$HOME/.ssh/authorized_keys</code>. Použijte: | ||
+ | #* příkaz: <code>ssh-copy-id</code> v Linuxu | ||
+ | #* nebo <code>type</code> + <code>ssh</code> + <code>cat</code> ve Windows | ||
+ | #* nebo program WinSCP ve Windows. | ||
+ | #* (Nezapomeňte nastavit oprávnění k souboru <code>authorized_keys</code> na ''600'' tak, aby měl přístup pouze vlastník.) | ||
# Nyní se přihlaste pomocí příkazu <code>ssh</code>. | # Nyní se přihlaste pomocí příkazu <code>ssh</code>. | ||
#* <code>ssh user@ip</code> | #* <code>ssh user@ip</code> | ||
Řádka 21: | Řádka 21: | ||
#* Položka <code>PasswordAuthentication</code> v souboru <code>/etc/ssh/ssh_config</code>. | #* Položka <code>PasswordAuthentication</code> v souboru <code>/etc/ssh/ssh_config</code>. | ||
− | <div class="Poznamka">Můžete použít i PuTTY | + | <div class="Poznamka">Můžete použít přihlašování bez hesla i v PuTTY, ale pak musíte klíče generovat pomocí nástrojů ''PuTTYgen'' a ''PuTTYant''. Použití příkazu <code>ssh</code> je možná jednodušší.</div> |
== Výhody == | == Výhody == | ||
Řádka 27: | Řádka 27: | ||
* Pohodlí (nemusím psát heslo). | * Pohodlí (nemusím psát heslo). | ||
* Vyhnete se riziku brute-force útoku (zkoušení hesel, dokud se útočník netrefí) — pokud zakážete přihlašování pomocí hesla. | * Vyhnete se riziku brute-force útoku (zkoušení hesel, dokud se útočník netrefí) — pokud zakážete přihlašování pomocí hesla. | ||
+ | * V případě kompromitace privátního klíče (ukradli vám počítač apod.) stačí smazat veřejný klíč ze serveru. Privátní klíč je tím pádem útočníkovi k ničemu. | ||
== Nevýhody == | == Nevýhody == | ||
− | * Kdokoli se dostane k vašemu soukromému klíči, přihlásí se! | + | * Kdokoli se dostane k vašemu soukromému klíči, přihlásí se!<br />''Pro vyšší bezpečí se dá použití soukromého klíče zabezpečit také heslem, ale pak musíte vždy zadávat heslo při přihlašování.'' |
== Zdroje == | == Zdroje == |
Aktuální verze z 23. 1. 2024, 08:16
Obsah |
Postup
- Na vašem osobním (klientském) počítači (Windows, Linux, počítač, který běžně používáte...) vytvořte dvojici soukromý+veřejný klíč.
- v příkazovém řádku (
cmd
) příkazemssh-keygen
, - klíče uložte do své domovské složky do souborů
id_rsa
(soukromý klíč) aid_rsa.pub
(veřený klíč).
- v příkazovém řádku (
- Zkontrolujte, že máte na serveru nainstalován SSH server (balíček
openssh
) a že máte povoleno přihlašování bez hesla (mělo by být nastaveno jako výchozí).- Instalaci balíčků znáte,
- spuštění balíčku ověříte pomocí příkazu
systemctl status
, - nastavení SSH je v souboru
/etc/ssh/ssh_config
.
- Veřejný klíč přeneste na server (skutečný server, virtuální stroj,…) do souboru
$HOME/.ssh/authorized_keys
. Použijte:- příkaz:
ssh-copy-id
v Linuxu - nebo
type
+ssh
+cat
ve Windows - nebo program WinSCP ve Windows.
- (Nezapomeňte nastavit oprávnění k souboru
authorized_keys
na 600 tak, aby měl přístup pouze vlastník.)
- příkaz:
- Nyní se přihlaste pomocí příkazu
ssh
.-
ssh user@ip
-
- Ověřte a předveďte funkčnost, popište postup práce!
- Můžete také zakázat přihlašování heslem:
- Položka
PasswordAuthentication
v souboru/etc/ssh/ssh_config
.
- Položka
Můžete použít přihlašování bez hesla i v PuTTY, ale pak musíte klíče generovat pomocí nástrojů PuTTYgen a PuTTYant. Použití příkazu
ssh
je možná jednodušší.Výhody
- Nikdo vám nezjistí heslo koukáním přes rameno či keyloggerem.
- Pohodlí (nemusím psát heslo).
- Vyhnete se riziku brute-force útoku (zkoušení hesel, dokud se útočník netrefí) — pokud zakážete přihlašování pomocí hesla.
- V případě kompromitace privátního klíče (ukradli vám počítač apod.) stačí smazat veřejný klíč ze serveru. Privátní klíč je tím pádem útočníkovi k ničemu.
Nevýhody
- Kdokoli se dostane k vašemu soukromému klíči, přihlásí se!
Pro vyšší bezpečí se dá použití soukromého klíče zabezpečit také heslem, ale pak musíte vždy zadávat heslo při přihlašování.
Zdroje
Můžete použít například tyto návody (můžete ale najít mnoho jiných):
- TUCAKOV, Dejan. How to Generate SSH Key in Windows 10. PhoenixNAP Global IT Services [online]. 2021 [cit. 2021-6-18]. Dostupné z: https://phoenixnap.com/kb/generate-ssh-key-windows-10
- SIMIC, Sofia. How to Setup Passwordless SSH on Linux. PhoenixNAP Global IT Services [online]. 2021 [cit. 2021-6-18]. Dostupné z: https://phoenixnap.com/kb/setup-passwordless-ssh