ssh

Jak provádět příkazy Linuxu na vzdáleném systému přes SSH?

Jak provádět příkazy Linuxu na vzdáleném systému přes SSH?

Chcete-li pracovat na vzdáleném systému, nejprve se přihlaste k tomuto systému, spusťte příkazy k provádění různých úkolů a poté se odhlaste z dané relace. Dokonce i ke spuštění jediného příkazu na vzdáleném systému musíte projít všemi kroky. Při práci na lokálním a vzdáleném systému vedle sebe musíte několikrát přepínat. Několikanásobné přihlášení a odhlášení ze systému může být nepříjemné. Měl by existovat způsob, který vám umožní provádět příkazy ve vzdáleném systému bez přihlášení k němu.Naštěstí existuje způsob, jak vám můžeme ukázat, jak provádět příkazy ve vzdáleném systému přes SSH přímo z místního počítače.

Předpoklady

Jako předpoklady musíte mít:

Poznámka: Příkazy uvedené v tomto tutoriálu byly provedeny v systému Ubuntu 20.04 Terminál LTS (Focal Fossa), který lze otevřít pomocí zkratky Ctrl + Alt + T. Stejné příkazy lze použít také pro Linux Mint a Debian.

Spouštějte příkazy Linuxu na vzdáleném systému přes SSH

Chcete-li provést příkaz na vzdáleném systému z místního systému, použijte následující syntaxi:

$ ssh

Kde uživatelské_jméno je uživatel ve vzdáleném systému, hostname / IP_Address je název hostitele nebo IP adresa vzdáleného systému. The Příkaz / skript je příkaz nebo skript, který chcete spustit ve vzdáleném systému.

Pokud SSH běží na jiném portu, než je výchozí port, nezapomeňte jej uvést pomocí parametru -p takto:

$ ssh -p

Proveďte jeden příkaz ve vzdáleném systému

Řekněme, že musíte najít název hostitele vzdáleného systému. V tomto případě by příkaz, který musíte spustit v místním systému, byl:

$ ssh plechovka @ 192.168.72.148 název hostitele

Nyní budete požádáni o zadání hesla pro vzdáleného uživatele. Zadejte heslo a stiskněte klávesu Enter.

V následujícím výstupu je „mypc“ název hostitele vzdáleného systému.


Příkaz můžete také uzavřít do jednoduché (") nebo dvojité obrácené čárky (" ") takto:

$ ssh plechovka @ 192.168.72.148 „Hostname“

Provádět více příkazů na vzdáleném systému

Pokud potřebujete provést více příkazů ve vzdáleném systému přes SSH, oddělte je pomocí (;) nebo (&&) a uzavřete je do obrácených čárek („“). Pokud nevložíte více příkazů do obrácených čárek, bude na vzdáleném počítači proveden pouze první příkaz a ostatní příkazy budou provedeny na místním počítači.

$ ssh   „Command1 && command2“

nebo

$ ssh   „Příkaz1; command2 ”

Pomocí oddělovače &&

Pokud použijete oddělovač (&&), druhý příkaz se spustí, pouze pokud je první příkaz proveden úspěšně. Chcete-li například ve vzdáleném systému spustit příkazy „mkdir“ a „ls“, budete muset v místním systému zadat následující příkaz:

$ ssh -t plechovka @ 192.168.72.148 „Mkdir myfiles && ls“

Nyní budete požádáni o zadání hesla pro vzdáleného uživatele. Zadejte heslo a stiskněte klávesu Enter.

Následuje výstup příkazů prováděných ve vzdáleném systému. Druhý příkaz „ls“ bude na vzdáleném systému proveden, pouze pokud bude úspěšný první příkaz „mkdir“.


Tento příkaz je také užitečný při upgradu systému. Obecně se aktualizace systému provádí po aktualizaci. Proto pomocí výše uvedeného příkazu můžete provést upgrade systému tak, aby fungoval pouze v případě, že aktualizace proběhnou úspěšně.

Za použití ; oddělovač

Pokud použijete oddělovač (;), spustí se druhý příkaz bez ohledu na to, zda byl první příkaz úspěšný nebo ne. Chcete-li například ve vzdáleném systému spustit příkazy „hostname“ a „ip r“, budete muset ve svém místním systému zadat následující příkaz:

$ ssh plechovka @ 192.168.72.148 „Název hostitele; ip r “

Nyní budete požádáni o zadání hesla pro vzdáleného uživatele. Zadejte heslo a stiskněte klávesu Enter.

Následuje výstup příkazů prováděných ve vzdáleném systému. Druhý příkaz „ip r“ se provede, i když je první příkaz neúspěšný.

Provádět příkazy na vzdáleném systému s oprávněními Sudo

Některé příkazy v systému Linux vyžadují zvýšená oprávnění, jako je instalace nebo odebrání jakéhokoli softwaru, přidání nebo odebrání uživatele, změna konfigurace systému atd. Když spustíte příkaz na vzdálených systémech, které vyžadují oprávnění sudo, budete nejprve požádáni o heslo pro vzdáleného uživatele a poté budete požádáni o heslo sudo k provedení příkazu.

Například pro aktualizaci systémových úložišť ve vzdáleném systému budete muset v místním systému spustit následující příkaz:

$ ssh -t plechovka @ 192.168.72.148 „Sudo apt update“

Následuje výstup příkazu provedeného ve vzdáleném systému se zvýšenými oprávněními.


Poznámka: Pak se zde používá volba -t k vynucení alokace tty.

Proveďte příkaz ve vzdáleném systému a uložte jeho výstup do místního systému

Výstup příkazů prováděných na vzdálených systémech lze také uložit do místního systému. Například následující příkaz provede příkaz ifconfig na vzdáleném systému a poté uloží svůj výstup do souboru s názvem ip.txt na ploše místního počítače.

$ ssh -t plechovka @ 192.168.72.148 „Ifconfig“> ~ / Desktop / ip.txt

Spustit místní skript ve vzdáleném systému

Skript umístěný v místním systému lze spustit také ve vzdáleném systému. Vysvětlíme to vytvořením skriptu s názvem sample.sh v místním systému.

$ sudo nano vzorek.sh

Přidejte do souboru skriptu následující řádky:

#!/ bin / bash
datum
název hostitele
IP cesta
ping -c 3 google.com

Nyní uložte a zavřete skript.


Nyní provést ukázku skriptu.ve vzdáleném systému zadejte v Terminálu následující příkaz:

$ ssh -t plechovka @ 192.168.72.148 'bash-s; < sample.sh

Tady je výstup po spuštění skriptu ve vzdáleném systému:


To je vše! V tomto kurzu jsme si ukázali, jak provádět příkazy ve vzdáleném systému přes SSH. Usnadňuje práci na vzdáleném systému a také vás ušetří potíží s opakovaným přihlášením a odhlášením ze vzdáleného systému.

Jak nainstalovat Counter Strike na Ubuntu
V éře technologie jsou úkoly stále jednodušší a jednodušší. Zavedení systému Windows s povoleným uživatelským rozhraním dominuje na trhu operačních sy...
Příkaz lsb_release na Ubuntu
Příkaz lsb_release je užitečný nástroj pro zjištění informací o vaší instalaci Linuxu. Otestuji to v tomto článku na mém novém Ubuntu 18.Instalace 04 ...
Ubuntu LTS vydává vše, co potřebujete vědět
Miliony lidí po celém světě používají Ubuntu jako svoji distribuci Linuxu a většina z nich se v jednom či druhém bodě zajímala, jaký je rozdíl mezi bě...