SSH, nebo Secure Shell, je zabezpečený shell, který se používá pro vzdálený přístup ze všech druhů zařízení k serverůmprostřednictvím tunelového kanálu a chráněného šifrováním, což mu poskytuje zabezpečení, které brání třetím stranám zachytit uživatelské jméno nebo heslo nebo je alespoň extrémně ztěžuje. V případě * Nix máme tento protokol k dispozici prostřednictvím OpenSSH, sady řešení klient-server k dispozici ve všech distribucích Linuxu a souvisejících platformách, jako je * BSD.
Pokud nám nyní SSH nabízí vynikající úroveň zabezpečení, proč bychom jej chtěli používat bez nutnosti zadávat heslo? Může existovat několik důvodů, ale jako generátor obvykle vyniká potřeba vzdáleně se přihlásit pomocí skriptů a provádět úlohy superuživatelů, a to, jak dobře víme, není vhodné vkládat tato data do žádného skriptu. Abychom tento problém vyřešili, uvidíme jak vygenerovat klíče SSH, abyste se mohli vzdáleně přihlásit bez hesla.
To vyžaduje nás vygenerovat veřejný klíč a soukromý klíč: první bude uložen na serveru, na který se chystáme přistupovat, a jak jeho název naznačuje, můžeme jej odeslat nebo sdílet, a druhý bude uložen v zařízení (počítači, smartphonu, tabletu), ze kterého se chystáme přístup k uvedenému serveru a musí být velmi opatrně a používáno pouze námi nebo lidmi, kterým důvěřujeme.
Vzhledem k tomu, co je uvedeno v předchozím odstavci, je důležité poznamenat, že tento typ řešení vyžaduje velmi velkou odpovědnost v péči o zařízení, ze kterých se chystáme vstoupit na server, a to je to, že každý, kdo má přístup k budou jej moci zadat bez nutnosti znát heslo, což je velmi velké bezpečnostní riziko. Po vyjasnění se podívejme, jak můžeme začít, a první věcí je mít na serveru nainstalovaného démona SSH:
# apt-get nainstalovat openssh-server
Nyní musíme v adresáři uživatelů vytvořit adresář .ssh:
# mkdir -p $ HOME / .ssh
# chmod 0700 $ HOME / .ssh
# dotkněte se $ HOME / .ssh / authorized_keys
Soubor upravíme / etc / ssh / sshd_config a ověříme, že následující řádky jsou takové, jaké jsou:
PubkeyAuthentication ano
AuthorizedKeysFile% h / .ssh / authorized_keys
Nyní přejdeme ke klientovi a provedeme:
ssh-keygen -t rsa
Bude nám řečeno, že se klíč vytváří, a budeme požádáni o zadání souboru, ve kterém bude uložen (ve výchozím nastavení bude v naší domácnosti, ve složce s názvem /.ssh/id_rsa). Můžeme stisknout klávesu Enter, protože toto místo nám slouží perfektně, a potom znovu stiskneme klávesu Enter, a to dvakrát, když jsme požádáni zadejte přístupovou frázi protože pamatujte, že se chystáme vstoupit na dálku bez zadání jakýchkoli údajů, takže ani my nechceme žádnou frázi.
Nyní, když máme veřejný klíč, musíme jej sdílet s těmi počítači, ke kterým se chystáme připojit. Za předpokladu, že server, o kterém mluvíme, má adresu 192.168.1.100, musíte udělat:
ssh-copy-id -i $ HOME / .ssh / id_rsa.pub root@192.168.1.100
Po zkopírování budeme pozváni na proveďte vzdálené přihlášení a otestujte klíče, a v tomto případě je třeba vzít v úvahu kořen Je to účet, se kterým budeme přistupovat na server, takže pokud to chceme udělat s jiným uživatelem, musíme upravit root pro uživatelský účet, se kterým budeme provádět přístup přes SSH.
Nyní musíme pouze restartovat server SSH, aby převzal novou konfiguraci:
# /etc/init.d/ssh restartujte
Od nynějška, pokud chceme přistupovat k druhému serveru a dělat to bez zadání hesla, musíme mu jednoduše poslat veřejný klíč, se kterým jednoduše zopakujeme poslední krok a podle potřeby změníme uživatele a IP adresu:
ssh-copy-id -i $ HOME / .ssh / id_rsa.pub admin@192.168.1.228
Díky za informace, ale nic ... neexistuje způsob ...
Snažil jsem se celé dopoledne a vždy si vyžádalo moje heslo.
Před časem jsem to zkusil a ze stejného důvodu jsem to nechal nemožné.
Vytvořím svůj klíč na svém Macbooku, zkopíruji ho do své maliny v ~ / .ssh / authorizedKeys
Konfiguruji sshd.conf s veřejným ověřováním a ověřuji, že adresář klíčů je přesně tam, kde jsou klíče. Restartuji malinu a po připojení se mě znovu zeptá na heslo
Co může selhat?
Po několika hodinách zkoušení mnoha věcí jsem zjistil, že s vytvořeným uživatelem to nikdy nefunguje, ale s výchozím uživatelem, který se nazývá „ubuntu“, to funguje poprvé.
Nějaké vysvětlení, proč se to může stát?
Saludos y gracias