Možné

Ako používať prihlásenie pomocou hesla SSH pomocou protokolu sshpass

Ako používať prihlásenie pomocou hesla SSH pomocou protokolu sshpass
V tomto článku vám ukážem, ako spustiť príručky Ansible pomocou prihlásenia založeného na hesle SSH s sshpass.

Predpoklady

Ak si chcete vyskúšať príklady uvedené v tomto článku,

1) Musíte mať v počítači nainštalovaný program Ansible.
2) Musíte mať aspoň hostiteľa Ubuntu / Debian, ku ktorému sa môžete pripojiť z Ansible.

Existuje veľa článkov o LinuxHint venovaných inštalácii Ansible. Môžete ich skontrolovať, ak je to potrebné na inštaláciu potrebných programov do vášho systému.

Budete tiež musieť mať sshpass nainštalovaný na vašom počítači, kde by ste mali mať nainštalovaný Ansible. Ukážem vám, ako nainštalovať sshpass o Ubuntu / Debian a CentOS / RHEL v tomto článku. Nerobte si starosti, ak ešte nemáte vo svojom systéme nainštalované tieto programy.

Inštalácia sshpass na Ubuntu / Debian

Program sshpass je k dispozícii v oficiálnom úložisku balíkov Ubuntu / Debian. Tento program môžete ľahko nainštalovať do počítača.

Najskôr aktualizujte medzipamäť úložiska balíkov APT pomocou nasledujúceho príkazu:

$ sudo apt aktualizácia

Teraz nainštalujte sshpass pomocou nasledujúceho príkazu:

$ sudo apt nainštalovať sshpass -y

Teraz by mal byť nainštalovaný sshpass.

Inštalácia sshpass na CentOS 8 / RHEL 8

sshpass je k dispozícii v úložisku EPEL CentOS 8 / RHEL 8. Na inštaláciu sshpass musíte mať povolené úložisko EPEL.

Najskôr aktualizujte medzipamäť úložiska balíkov DNF pomocou nasledujúceho príkazu:

$ sudo dnf makecache

Ďalej nainštalujte balík úložiska EPEL pomocou nasledujúceho príkazu:

$ sudo dnf nainštalovať epel-release -y

Balík úložiska EPEL by mal byť teraz nainštalovaný a úložisko EPEL by malo byť povolené.

Znovu aktualizujte medzipamäť úložiska balíkov DNF nasledujúcim spôsobom:

$ sudo dnf makecache

Inštalácia sshpass pomocou nasledujúceho príkazu:

$ sudo dnf nainštalovať sshpass -y

sshpass by mali byť nainštalované.

Nastavenie možného adresára projektu

Predtým, ako sa posunieme ďalej, bolo by dobré vytvoriť adresárovú štruktúru projektu, aby bola situácia trochu organizovaná.

Vytvorenie adresára projektu sshpass / a všetky požadované podadresáre (vo vašom aktuálnom pracovnom adresári), spustite nasledujúci príkaz:

$ mkdir -pv sshpass / súbory, príručky

Prejdite do adresára projektu takto:

$ cd sshpass /

Vytvor hostitelia inventárny súbor, a to nasledovne:

$ nano hostitelia

Do súboru inventára zadajte adresu IP alebo DNS hostiteľa.

Po dokončení tohto kroku uložte súbor stlačením + X, nasledovaný Y a .

V adresári projektu vytvorte konfiguračný súbor Ansible:

$ nano zodpovedné.porov

Teraz zadajte nasledujúce riadky do súboru zodpovedné.porov spis.

Po dokončení tohto kroku uložte súbor stlačením + X, nasledovaný Y a .

Testovanie prihlásenia SSH založeného na hesle je možné

Ďalej skúste vyskúšať príkaz ping na hostiteľov v súbore inventára takto:

$ ansible all -u shovon -m ping

POZNÁMKA: Tu je -u voľba slúži na informovanie zodpovedného používateľa, ako ktorého sa má prihlásiť. V tomto prípade to bude používateľ šovon. V rámci ukážky nahraďte toto používateľské meno odteraz svojím menom.

Ako vidíte, nemôžem sa prihlásiť na hostiteľa a spustiť žiadne príkazy.

Ak chcete vynútiť, aby bolo možné požiadať o heslo používateľa, spustite príkaz zodpovedné príkaz s -ask-pass argument:

$ ansible all -u shovon --ask-pass -m ping

Ako vidíte, program Ansible žiada o heslo SSH používateľa. Teraz zadajte svoje SSH heslo (prihlasovacie heslo používateľa) a stlačte .

Na hostiteľa je možné vykonať príkaz ping, a to nasledovne:

Možné prihlásenie SSH založené na hesle pre príručky

Pri spustení playbookov Ansible môžete použiť prihlásenie SSH založené na hesle. Pozrime sa na príklad.

Najskôr si vytvorte nový playbook askpass1.yaml v knihy o hre / adresár takto:

$ nano playbooks / askpass1.yaml

Zadajte nasledujúce riadky do askpass1.yaml súbor príručky:

- hostitelia: všetci
užívateľ: shovon
úlohy:
- meno: Ping na všetkých hostiteľov
ping:
- meno: Vytlačí správu
ladenie:
msg: 'Všetky nastavenia'

Po dokončení tohto kroku uložte súbor stlačením + X, nasledovaný Y a .

Spustiť askpass1.yaml príručky, a to nasledovne:

$ ansible-playbook playbooks / askpass1.yaml

Ako vidíte, nemôžem sa pripojiť k hostiteľovi. Vidíte, že je to preto, že som nespustil ansible-playbook príkaz s -ask-pass možnosť.

Spustiť askpass1.yaml príručka s -ask-pass možnosť:

$ ansible-playbook -ask-pass playbooks / askpass1.yaml

Ako vidíte, Ansible žiada o heslo SSH. Zadajte svoje heslo SSH a stlačte .

Príručka askpass1.yaml by teraz malo úspešne bežať.

Ansible sudo Password Login for Playbooks

The -ask-pass Táto možnosť požiada iba o prihlasovacie heslo SSH. Čo ak chcete tiež zadať heslo sudo? Ako to urobiť, uvidíte v ďalších krokoch.

Najskôr si vytvorte nový playbook askpass2.yaml v knihy o hre / adresár takto:

$ nano playbooks / askpass2.yaml

Zadajte nasledujúce riadky do askpass2.yaml spis.

- hostitelia: všetci
užívateľ: shovon
stať sa: Pravda
úlohy:
- name: Inštalácia balíka apache2
výstižný:
názov: apache2
stav: najnovšie
- name: Skontrolujte, či je služba apache2 spustená
služba:
názov: apache2
stav: začaté
povolené: Pravda
- názov: Kopírovať index.html súbor na server
kópia:
src:… / súbory / index.html
cieľ: / var / www / html / index.html
režim: 0644
vlastník: www-data
skupina: www-data

Tu som použil príkaz stať sa: Pravda povedať Ansible spustiť túto príručku s oprávneniami sudo. Po dokončení tohto kroku uložte askpass2.yaml súbor stlačením + X, nasledovaný Y a .

Vytvorte index.html súbor v súbory / adresár takto:

$ nano súbory / index.html

Zadajte nasledujúce HTML kódy do index.html spis:




Domovská stránka


Ahoj svet


Funguje to



Po dokončení tohto kroku uložte súbor stlačením + X nasledovaný Y a .

Môžete spustiť askpass2.yaml príručka s -ask-pass možnosť:

$ ansible-playbook --ask-pass playbooks / askpass2.yaml

Potom budete požiadaní o heslo SSH, ako predtým.

Príručka sa ale stále nemusí dať spustiť, aj keď zadáte heslo SSH. Dôvod je ten, že musíte povedať spoločnosti Ansible, aby vyzvala na zadanie hesla sudo, ako aj hesla SSH.

Môžete povedať Ansible, aby požiadal o heslo sudo pomocou -požiadať-stať sa-prejsť počas behu príručky nasledujúcim spôsobom:

$ ansible-playbook --ask-pass --ask-become-pass playbooks / askpass2.yaml

Teraz vás Ansible vyzve na zadanie hesla SSH.

Ďalej vás program Ansible vyzve na zadanie hesla sudo. Ak je vaše heslo sudo rovnaké ako heslo SSH (čo je najpravdepodobnejšie), nechajte ho prázdne a stlačte .

Ako vidíte, príručka sa úspešne rozbehla.

Konfigurácia automatického prihlásenia SSH založeného na hesle a prihlásenia pomocou hesla sudo

Možno budete chcieť použiť prihlásenie SSH a sudo založené na hesle, ale nechcete zadávať heslo SSH a heslo sudo pri každom spustení príručky. Ak je to tak, potom je táto časť určená pre vás.

Ak chcete používať prihlásenie SSH založené na hesle a prihlásenie sudo bez zobrazenia výzvy na zadanie hesla, stačí pridať ansible_ssh_pass a ansible_become_pass hostiteľské premenné alebo skupinové premenné v súbore inventára.

Najskôr otvorte hostitelia inventárny súbor, a to nasledovne:

$ nano hostitelia

Ak máte v súbore inventára viac hostiteľov a každý z nich má iné heslá, pridajte znak ansible_ssh_pass a ansible_become_pass premenné ako hostiteľské premenné (po každom hostiteľovi) nasledovne.

Nezabudnite vymeniť tajomstvo s vašim SSH a sudo heslom.

Ak majú všetci alebo niektorí z hostiteľov rovnaké heslo, môžete pridať ansible_ssh_pass a ansible_become_pass premenné ako skupinové premenné, ako je uvedené v príklade nižšie.

Tu mám iba jedného hostiteľa, takže som pridal ansible_ssh_pass a ansible_become_pass premenné pre všetko skupina (všetci hostitelia v súbore inventára). Tieto premenné však môžete pridať aj pre ďalšie špecifické skupiny.

Po dokončení pridávania súboru ansible_ssh_pass a ansible_become_pass premenné v hostitelia inventárny súbor, uložte hostitelia inventárny súbor stlačením + X, nasledovaný Y a .

Teraz môžete spustiť askpass2.yaml príručky, a to nasledovne:

$ ansible-playbook playbooks / askpass2.yaml

Ako vidíte, hracia kniha prebehla úspešne, aj keď nepožadovala heslo SSH ani heslo sudo.

Takto to používate sshpass pre prihlásenie SSH a sudo založené na hesle v Ansible. Ďakujeme, že ste si prečítali tento článok!

Hry Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
V minulosti sa hranie hier považovalo iba za hobby, ale časom došlo v hernom priemysle k obrovskému nárastu z hľadiska technológie i počtu hráčov. Her...
Hry Najlepšie hry na hranie s ručným sledovaním
Najlepšie hry na hranie s ručným sledovaním
Oculus Quest nedávno predstavil skvelú myšlienku ručného sledovania bez ovládačov. Vďaka stále sa zvyšujúcemu počtu hier a aktivít, ktoré vykonávajú p...
Hry Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Hranie hier na celú obrazovku alebo používanie aplikácií v režime rozptýlenia zadarmo na celú obrazovku vás môže odrezať od relevantných systémových i...