GNU/Linux >> Znalost Linux >  >> Linux

Ssh – Linux ekvivalentní vzdálené vzdálené komunikaci Powershell „one-to-many“?

Pocházím z administrace Windows a chci se ponořit hlouběji do Linuxu (Debianu).
Jedna z mých palčivých otázek, na kterou jsem při hledání na webu nedokázal odpovědět (nenašel jsem ji), je:jak mohu dosáhnout tzv. -to-many” vzdálená komunikace jako v PowerShell pro Windows?

Abych to rozebral na základy, řekl bych:

Můj názor na Linux:

  • Mohu ssh na server a zadat svůj příkaz
  • Dostal jsem výsledek. Pro prostředí 10 serverů bych musel napsat (perl/python?) skript posílající příkaz pro každý z nich?

Moje zkušenost z Windows:

  1. Napíšu svůj příkaz a pomocí „invoke-command“ jej mohu „poslat“ na spoustu serverů (možná z textového souboru), aby se provedly současně a získaly výsledek zpět (jako objekt pro další práci).

  2. Mohu dokonce vytvořit více relací, připojení je drženo na pozadí a selektivně do těchto relací posílat příkazy a vzdáleně se připojovat a odcházet, jak potřebuji.

(Slyšel jsem o kuchaři, loutce atd. Je to něco takového?)

Update 2019:
Poté, co jsem toho hodně zkusil, navrhuji Rex (viz tento komentář níže) – snadné nastavení (ve skutečnosti to potřebuje pouze ssh, nic jiného) a použití (pokud jen trochu znáte perl je to ještě lepší, ale je to volitelné)
S Rex(ify) můžete provést adhoc a posuňte jej ke skutečné správě konfigurace (…to znamená:je to CM na prvním místě, ale je vhodné i pro adhoc úkoly)
Webové stránky jsou zastaralé, ale v současné době (k 01/2019) jsou v aktivním vývoji a IRC kanál je také aktivní .

S novým openssh systému Windows existuje ještě více možností

můžete zkusit:
rex -u user -p password -H 192.168.1.3 -e 'say run "hostname"'

Přijatá odpověď:

Shrnutí

  • Ansible je nástroj DevOps, který je výkonnou náhradou za PowerShell
  • RunDeck jako grafické rozhraní je praktické
  • Někteří lidé provozují RunDeck+Ansible společně

clusterssh

Pro posílání vzdálených příkazů na několik serverů bych začátečníkovi doporučil clusterssh

Chcete-li nainstalovat clusterssh v Debianu:

apt-get install clusterssh

Další tutoriál clusterssh:

ClusterSSH je obal Tk/Perl kolem standardních nástrojů Linuxu, jako jsou XTerm
a SSH. Jako takový poběží téměř na jakémkoli operačním systému kompatibilním s POSIX, kde
existují knihovny – spouštěl jsem to na Linuxu, Solaris a Mac OS X.
vyžaduje knihovny Perl Tk ( perl-tk na Debianu nebo Ubuntu) a
X11::Protocol (libx11-protocol-perl na Debianu nebo Ubuntu), navíc
k xterm a OpenSSH.

Ansible

Co se týče vzdáleného frameworku pro správu více systémů, Ansible je velmi zajímavou alternativou k Puppet. Je štíhlejší a nepotřebuje vyhrazené vzdálené agenty, protože funguje přes SSH (také jej koupil RedHat)

Příručky jsou propracovanější než možnosti příkazového řádku.

Chcete-li však začít používat Ansible, potřebujete jednoduchou instalaci a nastavení textového souboru seznamu klientů.

Poté je možné spustit příkaz na všech serverech jednoduše:

ansible all -m command -a "uptime"

Výstup je také velmi pěkně naformátovaný a oddělený podle pravidla/serveru a při běhu na pozadí může být přesměrován do souboru a konzultován později.

Související:Jak zhustit podadresáře?

Můžete začít s jednoduchými pravidly a používání Ansible bude s růstem v Linuxu zajímavější a vaše infrastruktura se zvětší. Jako takový dokáže mnohem více než PowerShell.

Jako příklad, velmi jednoduchá příručka k upgradu linuxových serverů, kterou jsem napsal:

---
- hosts: all
  become: yes
  gather_facts: False
  tasks:
   - name: updates a server
     apt: update_cache=yes
   - name: upgrade a server
     apt: upgrade=full

Má také mnoho definovaných modulů, které vám umožní snadno psát komplexní zásady.

Index modulu – Ansible Documentation

Má také zajímavý oficiální hub/”sociální” síť úložišť pro vyhledávání již přijatých politik komunitou. Galaxie Ansible

Ansible je také široce používán a v githubu najdete spoustu projektů, jako je tento můj pro nastavení FreeRadius.

Zatímco Ansible je bezplatný open source framework, má také placené rozhraní webového panelu, Ansible Tower, ačkoli licencování je poměrně drahé.

V současnosti, poté, co jej RedHat koupil, má tower také open source verzi známou jako AWX.

Jako bonus je Ansible také schopen spravovat servery Windows, i když jsem ho k tomu nikdy nepoužil.

Je také schopen spravovat síťová zařízení (směrovače, přepínače a firewall), což z něj dělá velmi zajímavé řešení pro automatizaci na klíč.

Jak nainstalovat Ansible

Rundeck

Opět, pro vzdálený rámec, který se snáze používá, ale není tak účinný jako Ansible, doporučuji Rundeck.

Je to velmi výkonné grafické rozhraní pro více uživatelů/přihlašování, kde můžete automatizovat většinu svých běžných každodenních úkolů a dokonce poskytovat sysopům nebo pracovníkům helpdesku omezené pohledy.

Při spouštění příkazů vám také zobrazí okna s výstupem rozděleným podle serveru/úlohy.

Může bez problémů spouštět více úloh na pozadí a umožňuje vám zobrazit zprávu a výstup později.

Jak nainstalovat RunDeck

Upozorňujeme, že existují lidé, kteří používají Ansible+RunDeck jako webové rozhraní; ne všechny případy jsou pro to vhodné.

Je také samozřejmé, že používání Ansible a/nebo RunDeck lze vykládat jako formu nebo část dokumentace infrastruktury a časem umožňuje replikovat a vylepšovat akce/recepty/příručky.

A konečně, když mluvíme o centrálním příkazovém serveru, vytvořil bych jeden přímo pro tento úkol. Ve skutečnosti je technický termín skokový box. „Jump boxy“ zlepšují zabezpečení, pokud je nastavíte správně.


Linux
  1. 25 nejčastějších otázek k pohovoru o Linuxu

  2. Automatizace hesel SSH v Linuxu pomocí sshpass

  3. Jak nainstalovat Ansible na Oracle Linux 8

  1. Jak nainstalovat a otestovat Ansible na Linuxu

  2. Jak změnit port SSH v Linuxu

  3. Demystifikování Ansible pro systémové správce Linuxu

  1. 8 kroků k vývoji role Ansible v Linuxu

  2. Nelze spustit X aplikací přes SSH v Linuxu

  3. Linux ekvivalentní k robocopy?