GNU/Linux >> Znalost Linux >  >> Linux

Windows Guy ve světě Linuxu:Nastavení příkazu SSH v Linuxu

Linux a Windows bývaly smrtelnými nepřáteli, ale dnes spolu vycházejí mnohem lépe. Ve skutečnosti nyní můžete dokonce používat SSH nativně ve Windows:jako klienta i jako server. Co děláte, když jste správcem systému Windows, ale potřebujete také spravovat počítače se systémem Linux? Na (Secure Shell) příkaz SSH si v Linuxu zvyknete!

Toto je část IV v sérii blogových příspěvků A Windows Guy in a Linux World. Pokud se chcete dozvědět více o populárních konceptech Linuxu, určitě se podívejte na část I, část II a část III.

V tomto příspěvku se dozvíte vše o tom, jak povolit SSH v Linuxu a jak nastavit svého klienta Windows SSH pro připojení ke vzdáleným serverům Linux.

Poznámka:Všechny příklady budou používat OpenSUSE Linux.

Přechod z desktopového prostředí

Zpět v prvním příspěvku této série tutoriál doporučoval používat desktopové prostředí KDE. Když jste procházeli nastavením OpenSUSE, pravděpodobně jste viděli další lákavou možnost; serverové vydání OpenSUSE.

Pokud jste nainstalovali serverovou edici většiny linuxových distribucí (včetně OpenSUSE), možná jste si všimli úplného nedostatku desktopu. Serverová edice nejoblíbenějších distribucí (jako je OpenSUSE, stejně jako Ubuntu Server a CentOS) je jako Windows Server Core:o desktopu nelze mluvit.

Abyste pochopili, proč se desktopům v kultuře Linuxu obvykle vyhýbají, musíte rozumět CLI a SSH.

SSH:Zlatý standard vzdálené správy

SSH, stejně jako mnoho jiných protokolů pro vzdálenou správu, je systém založený na klient-server. Klient se vzdáleně připojuje přes síť k serveru a umožňuje vám spouštět příkazy (nebo dokonce přenášet soubory). SSH je de facto standard, pokud jde o vzdálenou správu Linuxu.

Protože SSH existuje již dlouhou dobu a je hluboce zakořeněno v ekosystému Linuxu, dominují prostředí serveru Linux nástroje pro správu příkazového řádku. Většina serverových distribucí Linuxu nemá grafické rozhraní.

Použití příkazů SSH v systému Linux

Dost řečí. Podívejme se, co dokáže SSH tím, že jej nejprve povolíme v OpenSUSE Linux. K tomu použijte správce balíčků YaST. Povolení SSH pomocí YaST v OpenSUSE:

  1. Klikněte na nabídku Start, zadejte terminál a vyberte Konsole za předpokladu, že jste při instalaci OpenSUSE nainstalovali KDE Desktop Manager.
  2. V terminálu otevřete YaST spuštěním sudo yast .
  3. V YaSTu přejděte šipkou dolů na systém a poté šipkou na správce služeb a pokračujte stisknutím klávesy Enter.
  4. Šipka dolů na sshd, a stiskněte alt+s ke spuštění služby SSH.
  5. Stiskněte alt+r změnit režim spouštění z manuálního na režim při spouštění. To zajistí, že služba serveru SSH bude spuštěna i po restartu.
  6. Stiskněte alt+ook změny a použijte je.

Níže můžete vidět tyto kroky v akci.

Povolení SSH přes bránu firewall

Téměř každá linuxová distribuce přichází s nějakým typem firewallu, který ji chrání jako Windows. O firewallu OpenSUSE si můžete přečíst zde. Chcete-li zajistit, že budete mít vzdálený přístup ke službě SSH z Windows, musíte ji povolit přes bránu firewall. Chcete-li to provést:

  1. Stále v terminálu spusťte znovu YaST s sudo yast .
  2. Šipka dolů na Zabezpečení a uživatelé a poté šipkou na Firewall a pokračujte stisknutím klávesy Enter.
  3. Přejděte na Zóny –> Veřejné a šipkou přejděte na Služby – Porty podokno vpravo.
  4. Šipka dolů vyhledejte ssh ve službách.
  5. Vyberte ssh mezerníkem a stiskněte alt+d přidat výběr.
  6. Stiskněte alt+a přijmout změny.

Všechny výše uvedené kroky můžete vidět vizuálně níže.

Stejně jako Windows má i Linux různé úrovně důvěryhodnosti pro použití pravidel brány firewall. Tyto úrovně se označují jako zóny. Windows má ve výchozím nastavení veřejné, pracovní a soukromé zóny. Linux má mnohem více, ale výchozí je veřejná zóna.

Připojení k Linuxu z Windows

V dnešní době má Windows 10 naštěstí vestavěného klienta SSH. Chcete-li se připojit k hostiteli Linuxu, otevřete příkazový řádek (cmd) nebo konzolu PowerShell a zadejte uživatelské jméno, ke kterému se chcete připojit, a IP nebo název hostitele.

> ssh @

Pokud vše půjde dobře, klient SSH by vás měl požádat o přijetí otisku prstu. Otisk prstu je identifikátor, který má zajistit, aby někdo neunesl cílovou IP adresu.

Pokud používáte Windows 7, stále můžete SSH k hostiteli Linuxu. Stačí si odtud stáhnout klienta Microsoft SSH. Tento klient SSH je stejný, jaký používá systém Windows 10.

Jakmile napíšete yes a zadejte své heslo, že jste připojeni k vašemu serveru! Nyní můžete používat příkazový řádek, jako bychom otevírali terminál na samotném počítači.

Nevystavujte SSH (výchozí port 22) internetu prostřednictvím routeru. Roboti procházejí internet neustále hledá otevřené SSH porty. Jakmile robot najde otevřený port, začnou spamovat hesla a snaží se proniknout dovnitř.

Povolení podpory myši v SSH ve Windows

Jednou z velkých nevýhod používání nativního klienta Windows 10 SSH (alespoň v době psaní tohoto článku) je nedostatek podpory myši. To znamená, že v půlnočním veliteli nemůžete používat myš, jak jste se dozvěděli v předchozím příspěvku na blogu.

Naštěstí od verze osm klienta OpenSSH Windows můžete získat podporu myši! Pojďme si nainstalovat tohoto klienta.

  1. Zde si stáhněte nejnovější verzi OpenSSH-Win64 a rozbalte výsledný soubor zip. Výukový program předpokládá, že jej rozbalíte do ~\Downloads\OpenSSH-Win64 .
  2. Otevřete konzolu PowerShell a přejděte na ~\Downloads\OpenSSH-Win64 s cd ~\Downloads\OpenSSH-Win64 .
  3. Zkontrolujte verzi klienta SSH spuštěním .\\ssh -V . V době psaní této příručky by verze měla být 8.1.0.0-p1.
  4. SSH na váš server Linux pomocí .\ssh @ .
  5. Po přihlášení otestujte podporu myši spuštěním mc spustit půlnoční velitele, abyste měli jistotu, že můžete používat myš.

Všechny výše uvedené kroky můžete vidět vizuálně níže.

Přepsání výchozího klienta SSH

Pokud chcete novou verzi používat trvaleji, můžete; ale musíte přepsat výchozího klienta Windows 10 SSH. To zajistí, kdykoli spustíte ssh na příkazovém řádku je použita novější verze (s podporou myši).

Za předpokladu, že jste klienta extrahovali do ~\Downloads\OpenSSH-Win64 složka

  1. Přesuňte extrahovanou složku OpenSSH-Win64 do trvalé složky podle vašeho výběru. Tento tutoriál bude používat C:\users\public\OpenSSH-Win64 .
  2. Přejděte na Start a poté Spustit a zadejte sysdm.cpl nebo otevřete Systém z ovládacího panelu.
  3. V části Pokročilé klikněte na Proměnné prostředí .
  4. V části Systémové proměnné , klikněte na Cesta .
  5. Klikněte na Nový přidat novou cestu a poskytnout cestu ke složce klientovi SSH (C:\users\public\OpenSSH-Win64 v tomto případě).
  6. Klikněte na Posunout nahoru dokud nebude nad %SystemRoot%\system32 složku. To zajistíte, kdykoli napíšete ssh na příkazovém řádku se systém Windows nejprve podívá sem.
  7. Otevřete konzolu PowerShell a spusťte ssh -V . Měli byste vidět verzi 8.1.0.0-p .

Tyto kroky jsou shrnuty níže.

Upřednostnění složky před %SystemRoot%\system32 může být bezpečnostním rizikem. Pokud má někdo přístup k vašemu počítači, může se rozhodnout vložit virus do složky OpenSSH-Win64 a pojmenovat jej jako nástroj systému Windows, například cd.exe .

Měli byste omezit složku OpenSSH-Win64 na čtení pouze pro kohokoli kromě administrátorů.

  1. Klikněte pravým tlačítkem na složku OpenSSH-Win64 a klikněte na Vlastnosti .
  2. V části Zabezpečení klikněte na kartu Upřesnit tlačítko.
  3. Klikněte na možnost Zakázat dědění povolit oprávnění vlastní složky a zabránit nadřazeným složkám v přepsání oprávnění ve složce OpenSSH-Win64.
  4. Vyberte Přidat , vyhledejte Administrátoři skupinu a dát jim plná práva.
  5. Klikněte na tlačítko Přidat , najděte Všichni skupiny a udělte jim oprávnění pouze pro čtení.
  6. Vyberte oprávnění Nahradit všechny podřízené objekty zaškrtávací políčko pro šíření těchto nastavení do všech souborů ve složce OpenSSH-Win64; klikněte na Použít .
  7. Nyní otestujte tato oprávnění vytvořením nového souboru ve složce OpenSSH-Win64. Systém Windows by měl vyžadovat výzvu správce.

Všechny výše uvedené kroky můžete vidět vizuálně níže.

Správa odpojených relací pomocí Tmux

Ach, jaká bolest! Jste v polovině spuštění dlouho vykonávaného příkazu přes SSH a váš internet vypadne. Nyní nemáte ponětí, v jakém stavu je server Linux! Dělá se to tím příkazem? Jak to získáte zpět?

Odpojené relace jsou legitimní problém s SSH a ten, který má naštěstí jednoduché řešení. Potřebujete terminálový multiplexer (tmux).

Tmux znamená jak zkratku terminálového multiplexeru, tak i název samotného programu

Tmux je správce relací pro SSH. „Podrží“ relaci, pokud se odpojíte, a udržuje ji spuštěnou na pozadí. K této relaci se můžete později znovu připojit nebo dokonce vytvořit více relací a přeskakovat mezi nimi.

Správa odpojených relací pomocí tmux:

  1. V terminálu Linux stáhněte a nainstalujte nástroj tmux spuštěním sudo zypper install -y tmux jak je vidět níže:

Můžete také použít YaST ke stažení nástroje tmux.

Většina distribucí Linuxu má jiného správce balíčků příkazového řádku. OpenSUSE používá zip. Arch používá pacmana. Ubuntu používá apt. Red Hat používá dnf a yum. Naštěstí je syntaxe těchto správců balíčků vesměs podobná.

2. Na počítači se systémem Windows otevřete konzolu PowerShell a SSH na serveru Linux. Výukový program bude používat uživatelské jméno homelab a IP serveru Linux 192.168.134.169.

ssh @

3. Otevřete tmux spuštěním tmux po připojení. Ve spodní části by se měl zobrazit zelený pruh

4. Spusťte příkaz, který vypíše nějaký text. Nezáleží na tom, co to je. Tento tutoriál používá neofetch . Můžete spustit ls také.

5. Odpojte relaci zavřením prostředí PowerShell. Tato akce simuluje výpadek.

6. Znovu se připojte k serveru Linux pomocí SSH.

7. Nyní se znovu připojte ke staré relaci spuštěním tmux a Stále byste měli vidět výstup předchozího ls příkaz. Hurá, žádná ztráta dat při odpojení!

Všechny výše uvedené kroky můžete vidět vizuálně níže.

Pokud se pokusíte spustit nástroj Midnight Commander v tmux , možná si všimnete, že nemáte podporu myši. Můžete to opravit spuštěním mc -x místo toho.

Povolení tmux při přihlášení

Ve výchozím nastavení nebude tmux dostupný ve všech relacích SSH. Můžete to změnit tak, že vynutíte připojení tmux k vaší relaci SSH při každém přihlášení.

Za předpokladu, že používáte SSHed na váš server Linux:

  1. Otevřete nástroj themidnight commander pomocí mc.

2. Zvýrazněte .bashrc soubor a stiskněte upravit .

Číslo .bashrc file je shell (dávkový) skript, který se spustí pokaždé, když se přihlásíte pomocí příkazového řádku

3. Přidejte níže uvedený kód skriptu shellu na konec textového souboru.

if [ -z "$TMUX" ]; then tmux attach -t default || tmux new -s default fi

4. Klikněte na ukončit a po zobrazení výzvy uložte.

5. Otestujte automatické připojení tmux odpojením se od relace SSH a opětovným připojením. Ve spodní části by se měl automaticky zobrazit zelený pruh označující, že jste připojeni k tmux relace!

To je opravdu jen poškrábání povrchu toho, co tmux umí, je to docela výkonný multitaskingový program. Pokud se zeptáte kteréhokoli správce Linuxu, jaký je jeho nejpoužívanější příkaz, pravděpodobně je to tmux .

Sbalit

Tím končí poslední příspěvek v Windows Guy ve světě Linuxu série blogových příspěvků. Zůstaňte naladěni na blog ATA pro další blížící se instalaci!


Linux
  1. linux spustit příkaz vzdáleně

  2. Windows ekvivalent linuxového příkazu cksum

  3. Příkaz Linuxu, který čeká na spuštění serveru SSH

  1. Linuxový příkaz mv

  2. Linux du command

  3. Linuxový ip příkaz

  1. Jak najít aktivní připojení SSH v systému Linux

  2. Linux cd příkaz

  3. Skryjte skryté soubory Linuxu ve Windows