GNU/Linux >> Znalost Linux >  >> Linux

Instalace a konfigurace OpenSSH na Ubuntu a distribucích založených na Debianu

Pokud chcete povolit SSH na ploše Ubuntu , použijte následující příkaz:

sudo apt install openssh-client

Pokud chcete povolit SSH na serveru Ubuntu , použijte následující příkaz:

sudo apt install openssh-server

Přečtěte si zbytek článku pro podrobnější informace.

Každý systémový administrátor a vývojář se setkal s potřebou vzdáleného přihlášení do systémů pro účely rychlejší administrace a ladění.

V prostředí IT se dnes téměř všechny úlohy správce systému provádějí prostřednictvím vzdáleného přihlášení.

A nejen správci systému, dokonce i normální uživatelé se někdy potřebují vzdáleně přihlásit k serverům.

Jak se tedy vzdáleně připojit k systému Linux? Pro vzdálené přihlášení je k dispozici několik nástrojů, ale pokud jde o Linux, nejoblíbenější volbou je SSH.

SSH, zkratka pro secure shell, je protokol, který umožňuje bezpečné vzdálené přihlášení z jednoho počítače do druhého.

Nyní je otázkou, jak povolíte SSH na Ubuntu nebo Debianu nebo jakékoli jiné distribuci Linuxu, kterou používáte?

Pamatujte, že SSH je pouze protokol a tento protokol lze implementovat pomocí řady nástrojů, jako je lsh, Dropbear atd., ale nejpoužívanějším nástrojem pro SSH je open source software OpenSSH.

V tomto tutoriálu uvidíte, jak nainstalovat OpenSSH a nakonfigurovat jej tak, aby povolil SSH v distribucích Linuxu založených na Ubuntu a Debianu. Uvedené kroky jsou použitelné pro stolní i serverové verze Ubuntu/Debian.

Také doporučuji přečíst si tento článek, abyste se seznámili se základy SSH.

Povolení SSH na Ubuntu a Debianu pomocí OpenSSH

Jak jsem již zmínil, OpenSSH je software pro vytváření SSH přihlášení. Naslouchá na portu a ověřuje příchozí uživatele a vytváří nový shell pro vzdáleného uživatele.

Aby SSH fungovalo, musí na vzdáleném systému běžet ssh server, ke kterému se musí uživatel přihlásit. Také musíte mít v lokálním systému ssh klienta, ze kterého se uživatel bude přihlašovat do vzdáleného systému.

OpenSSH poskytuje obě tyto funkce. Pro koncové uživatele existuje openssh-client a pro vzdálené servery openssh-server.

Před instalací OpenSSH byste měli zkontrolovat, zda je SSH již nainstalováno a spuštěno ve vašem systému.

Zkontrolujte, zda je SSH již povoleno a spuštěno

Je pravděpodobnější, že SSH je již ve vašem systému povoleno. Pro ověření spusťte následující příkaz na vzdáleném serveru nebo v systému koncového uživatele:

ps -aux | grep ssh

Pokud je povoleno SSH, měli byste na ploše vidět informace o agentovi SSH:

ps -aux | grep ssh

abhishek  1736  0.0  0.0  11304    36 ?        Ss   08:18   0:00 /usr/bin/ssh-agent /usr/bin/im-launch env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu

abhishek 10462  0.0  0.0  21536  1044 pts/0    S+   10:15   0:00 grep --color=auto ssh

Na serveru byste měli vidět informace o spuštěném démonu SSH:

ps -aux | grep ssh

root       920  0.0  0.2  72296  6028 ?        Ss    2018   0:17 /usr/sbin/sshd -D

root     22708  0.0  0.3 108172  7364 ?        Ss   05:13   0:00 sshd: [email protected]/0

root     22873  0.0  0.0  14856  1068 pts/0    S+   05:14   0:00 grep --color=auto ssh

Pokud nevidíte výstup podobný výše uvedeným, nemáte ve svém systému spuštěn SSH. Je čas nainstalovat OpenSSH.

Instalace OpenSSH na Ubuntu a Debian

Rychlá poznámka o openssh-client a openssh-server, než budete pokračovat v instalaci OpenSSH.

openssh-client: Toto je balíček, který potřebujete, pokud se chcete připojit ke vzdálenému systému Linux pomocí SSH. To je to, co potřebujete jako koncový uživatel/uživatel počítače.

openssh-server: Toto je balíček, který potřebujete, pokud chcete povolit vzdálené přihlášení přes SSH do vašeho systému. To je to, co potřebujete na svém linuxovém serveru.

Všimněte si, že instalace openssh-server vám také umožňuje vzdálené přihlášení do jiných systémů přes SSH. Jinými slovy, openssh-server se skládá z openssh-klienta. Ale pokud jste pouze koncovým uživatelem s linuxovým desktopem, není (většinou) potřeba instalovat openssh-server a umožňovat vzdálené přihlášení do vašeho systému.

Nyní, když znáte rozdíl mezi těmito dvěma, je čas podívat se, jak je nainstalovat.

Všimněte si, že pro instalaci OpenSSH na Ubuntu nebo Debian musíte mít práva sudo/root. Pokud takové oprávnění nemáte, obraťte se na správce systému. Můžete si také přečíst tento článek o vytváření uživatelů sudo.

Instalace OpenSSH pro počítače nebo koncové uživatele

Pokud se chcete pouze připojit k jiným vzdáleným systémům přes SSH, měli byste nainstalovat balíček openssh-client pomocí následujícího příkazu:

sudo apt update
sudo apt install openssh-client

Jakmile nainstalujete ssh na váš systém, jste připraveni jej používat. V tomto podrobném článku se dozvíte, jak používat SSH.

Instalace OpenSSH pro servery

Pokud nastavujete server Ubuntu/Debian, měli byste nainstalovat balíček openssh-server, aby se k vašemu systému mohli připojit další vzdálení uživatelé.

sudo apt update
sudo apt install openssh-server

Jakmile nainstalujete openssh-server, je čas naučit se jej vyladit a nakonfigurovat podle vašich potřeb.

Ovládání démona SSH sshd (pro servery)

Budete mít démona SSH s názvem sshd nainstalováno a ve výchozím nastavení je povoleno automatické spouštění při restartu. systemctl je jedním z několika způsobů, jak ovládat démona SSH. Chcete-li se dozvědět více o systemctl , naleznete v tomto článku.

Spusťte službu sshd

Službu lze spustit jednoduchým vydáním:

sudo systemctl start sshd

Zastavte službu sshd

Službu lze zastavit podobným způsobem:

sudo systemctl stop sshd

Restartujte službu sshd

Pokud chcete, aby byla služba sshd zastavena a spuštěna (obvykle potřeba v případě změny konfigurací na službu sshd), můžete jednoduše použít tento příkaz:

sudo systemctl restart sshd

Automaticky povolit SSH na Ubuntu při každém spuštění

Některé služby je třeba spustit při samotném restartu, aby se předešlo ruční interakci a pokud jsou velmi často používány. Je to velmi důležité pro služby jako Apache, mongod, mysqld, sshd na serverech.

Pokud chcete povolit takové automatické spouštění pro sshd, použijte:

sudo systemctl enable sshd

Zakázat automatické spouštění SSH při restartu

Pokud nechcete, aby se sshd spustil při restartu automaticky, použijte

sudo systemctl disable sshd

Výše uvedené čtyři tipy jsou nezbytné při každé změně služby ssh, jako je změna portu. Výše uvedené příkazy můžete použít ke správě jakékoli služby (jako mysqld, mongod, apache) s názvem služby sshd nahrazeným cílovou službou.

Tip :Příkaz nohup můžete použít k zachování spouštění příkazů, i když se vaše připojení SSH odpojí.

Konfigurace SSH (pro servery)

Od této chvíle bude naše služba ssh naslouchat na portu 22 a bude připravena ověřit každého uživatele (také root), jakmile bude klíč uložen.

Pokud chcete změnit některou z konfigurací, jako je port pro naslouchání připojením, můžete upravit soubor „/etc/ssh/sshd_config ” přidáním, odstraněním, okomentováním nebo zrušením komentáře řádků a poté restartováním služby sshd.

Existuje mnoho možností konfigurace. Vytvořil jsem seznam konfigurací, které budou s největší pravděpodobností potřeba.

1. Změňte výchozí port SSH

Služba sshd obvykle naslouchá na portu TCP 22. Pokud chcete, můžete port SSH změnit například na 5678 přidáním/úpravou následujícího řádku v /etc/ssh/ssh_config.

Port 5678

Restartujte službu, aby se změna okamžitě projevila.

2. Zakázat přihlášení root přes SSH

Povolit uživatelům root autentizaci pomocí ssh není dobrý nápad z bezpečnostních důvodů. sudo uživatelé mohou být přihlášeni vzdáleně, ale ne root jako root je na vrcholu bezpečnostního potravinového řetězce.

Přihlášení uživatele root lze zakázat přidáním (pokud již není přítomen) následujícího řádku a restartováním služby.

PermitRootLogin no

Pokud již řádek existuje, ujistěte se, že není zakomentován.

3. Povolit ověřování pomocí klíče SSH zapnuto

Možná budete chtít povolit ověřování na základě ssh klíče, aby koncový uživatel nemusel neustále zadávat heslo. Pro přihlášení do vzdáleného systému bude stačit pouze ssh [email protected].

Za tímto účelem byste měli nakonfigurovat SSH tak, aby umožňovalo ověřování veřejným klíčem:

PubkeyAuthentication yes 

Pokud již řádek existuje, ujistěte se, že není zakomentován.

Nyní, pokud chcete konkrétnímu systému povolit přihlášení pomocí veřejného klíče, musíte tento veřejný klíč koncového uživatele přidat do souboru .ssh/authorized_keys .

Ssh klíče (veřejný klíč a soukromý klíč) můžete vytvořit pomocí ssh-keygen . Chcete-li se dozvědět více o key-gen, podívejte se na tento skvělý zdroj.

Veřejný klíč koncového uživatele můžete přenést na vzdálený server jakýmkoli způsobem, který preferujete. Pokud chcete, můžete použít příkaz scp nebo jej jednoduše získat přes FTP. Je to opravdu na vás.

Nejpotřebnější jsou výše uvedené tři, ale pokud chcete provést další změny, podívejte se na manuálovou stránku sshd_config .

Závěr

Myslím, že je to dost dobrý materiál na čtení, abyste věděli, jak povolit SSH na Ubuntu/Debianu a jak nakonfigurovat SSH na vašem serveru pro vzdálené přihlášení.

V souvisejícím článku se můžete podívat na tento článek s podrobnostmi o chybě SSH, která vzniká v důsledku kopírování veřejného klíče mezi systémy.

Pokud vám tento článek přišel užitečný, sdílejte jej se svými přáteli. Pokud máte nějaké návrhy nebo připomínky nebo si myslíte, že jsem něco přehlédl, neváhejte a napište komentář níže.


Linux
  1. Instalace a konfigurace vsFTPD

  2. Nastavte SFTP a Zabraňte SSH na Ubuntu 20.04

  3. CentOS / RHEL :Instalace a konfigurace ASMLib

  1. Instalace a konfigurace php 7x na Centos 8

  2. Instalace a nastavení PHP a Nginx na Ubuntu 20.04

  3. Linux – konfigurace, kompilace a instalace vlastního linuxového jádra?

  1. Co dělat po instalaci Ubuntu 18.04 a 19.10

  2. Instalace Nginx na Ubuntu 14.04 a 16.04

  3. Instalace a konfigurace vědeckého softwaru v Ubuntu 15.04. Pouzdro:Scilab 5.5.1