Možné

Jak používat SSH přihlašovací údaje založené na heslech pomocí sshpass

Jak používat SSH přihlašovací údaje založené na heslech pomocí sshpass
V tomto článku vám ukážu, jak spustit hrací knížky Ansible pomocí přihlašovacího hesla založeného na SSH pomocí sshpass.

Předpoklady

Chcete-li vyzkoušet příklady popsané v tomto článku,

1) Musíte mít ve svém počítači nainstalovanou aplikaci Ansible.
2) Musíte mít alespoň hostitele Ubuntu / Debian, ke kterému se můžete připojit z Ansible.

Existuje mnoho článků o LinuxHint věnovaných instalaci Ansible. V případě potřeby je můžete zkontrolovat a nainstalovat potřebné programy do systému.

Budete také muset mít sshpass nainstalován ve vašem počítači, kde byste měli mít nainstalovaný Ansible. Ukážu vám, jak nainstalovat sshpass na Ubuntu / Debian a CentOS / RHEL v tomto článku. Nebojte se, pokud tyto programy ve svém systému již nemáte nainstalované.

Instalace sshpass na Ubuntu / Debian

Program sshpass je k dispozici v oficiálním úložišti balíků Ubuntu / Debian. Tento program můžete snadno nainstalovat do počítače.

Nejprve aktualizujte mezipaměť úložiště balíčků APT pomocí následujícího příkazu:

$ sudo apt aktualizace

Nyní nainstalujte sshpass pomocí následujícího příkazu:

$ sudo apt nainstalovat sshpass -y

Nyní by měl být nainstalován sshpass.

Instalace sshpass na CentOS 8 / RHEL 8

sshpass je k dispozici v úložišti EPEL CentOS 8 / RHEL 8. Chcete-li nainstalovat sshpass, musíte mít povoleno úložiště EPEL.

Nejprve aktualizujte mezipaměť úložiště balíků DNF pomocí následujícího příkazu:

$ sudo dnf makecache

Dále nainstalujte balíček úložiště EPEL pomocí následujícího příkazu:

$ sudo dnf install epel-release -y

Balíček úložiště EPEL by nyní měl být nainstalován a úložiště EPEL by mělo být povoleno.

Znovu aktualizujte mezipaměť úložiště balíků DNF následujícím způsobem:

$ sudo dnf makecache

Nainstalujte sshpass pomocí následujícího příkazu:

$ sudo dnf install sshpass -y

sshpass by měl být nainstalován.

Nastavení možného adresáře projektu

Než půjdeme dále, bylo by dobré vytvořit adresářovou strukturu projektu, jen aby to bylo trochu organizované.

Chcete-li vytvořit adresář projektu sshpass / a všechny požadované podadresáře (ve vašem aktuálním pracovním adresáři), spusťte následující příkaz:

$ mkdir -pv sshpass / soubory, příručky

Přejděte do adresáře projektu následujícím způsobem:

$ cd sshpass /

Vytvořit hostitelé soubor inventáře takto:

$ nano hostitelé

Do souboru inventáře přidejte název svého hostitele IP nebo DNS.

Po dokončení tohoto kroku uložte soubor stisknutím + X, následován Y a .

V adresáři projektu vytvořte konfigurační soubor Ansible:

$ nanoodpovědný.srov

Nyní zadejte následující řádky do pole zodpovědný.srov soubor.

Po dokončení tohoto kroku uložte soubor stisknutím + X, následován Y a .

Testování přihlášení SSH založeného na heslech je možné

Dále zkuste provést ping na hostitele v souboru inventáře následujícím způsobem:

$ ansible all -u shovon -m ping

POZNÁMKA: Tady -u Volba se používá k informování uživatele, ke kterému uživateli se má přihlásit. V tomto případě to bude uživatel šovon. V této ukázce od nynějška nahraďte toto uživatelské jméno svým jménem.

Jak vidíte, nemohu se přihlásit k hostiteli a spouštět žádné příkazy.

Chcete-li vynutit, aby Ansible požádal o heslo uživatele, spusťte zodpovědný příkaz s -ask-pass argument, takto:

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

Jak vidíte, Ansible požádá o heslo SSH uživatele. Nyní zadejte své SSH heslo (přihlašovací heslo uživatele) a stiskněte .

Na hostitele lze pingovat následujícím způsobem:

Možné přihlášení SSH založené na heslech pro příručky

Při spuštění playbooků Ansible můžete použít přihlašovací údaje SSH založené na heslech. Podívejme se na příklad.

Nejprve vytvořte nový scénář askpass1.yaml v knihy o hře / adresář takto:

$ nano playbooks / askpass1.yaml

Do řádku zadejte následující řádky askpass1.yaml soubor příručky:

- hostitelé: všichni
uživatel: shovon
úkoly:
- name: Ping všem hostitelům
ping:
- name: Vytisknout zprávu
ladit:
msg: 'All set'

Po dokončení tohoto kroku uložte soubor stisknutím + X, následován Y a .

Spusťte askpass1.yaml playbook, a to následovně:

$ ansible-playbook playbooks / askpass1.yaml

Jak vidíte, nejsem schopen se připojit k hostiteli. Vidíte, že je to proto, že jsem nespustil ansible-playbook příkaz s -ask-pass volba.

Spusťte askpass1.yaml scénář s -ask-pass tato možnost:

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

Jak vidíte, Ansible žádá o heslo SSH. Zadejte své heslo SSH a stiskněte .

Příručka askpass1.yaml by nyní měl úspěšně fungovat.

Ansible sudo Password Login for Playbooks

The -ask-pass možnost požádá pouze o přihlašovací heslo SSH. Co když si také přejete zadat heslo sudo? V následujících krocích uvidíte, jak to udělat.

Nejprve vytvořte nový scénář askpass2.yaml v knihy o hře / adresář takto:

$ nano playbooks / askpass2.yaml

Do řádku zadejte následující řádky askpass2.yaml soubor.

- hostitelé: všichni
uživatel: shovon
stát se: Pravda
úkoly:
- name: Nainstalujte balíček apache2
výstižný:
název: apache2
stát: nejnovější
- name: Ujistěte se, že je spuštěna služba apache2
servis:
název: apache2
stav: spuštěno
enabled: True
- name: Kopírovat rejstřík.html soubor na server
kopírovat:
src:… / soubory / index.html
dest: / var / www / html / index.html
režim: 0644
vlastník: www-data
skupina: www-data

Zde jsem použil příkaz stát se: Pravda říct Ansible, aby spustil tuto příručku s oprávněními sudo. Po dokončení tohoto kroku uložte askpass2.yaml soubor stisknutím + X, následován Y a .

Vytvořit index.html soubor v soubory / adresář takto:

$ nano soubory / index.html

Zadejte následující kódy HTML do index.html soubor:




Domovská stránka


Ahoj světe


Funguje to



Po dokončení tohoto kroku uložte soubor stisknutím + X následován Y a .

Můžete spustit askpass2.yaml scénář s -ask-pass tato možnost:

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

Poté budete požádáni o heslo SSH, stejně jako dříve.

Playbook se ale stále nemusí spustit, i když zadáte heslo SSH. Důvodem je to, že musíte říct Ansible, aby vyzval k zadání hesla sudo a hesla SSH.

Můžete říct Ansible, aby požádal o heslo sudo pomocí -ask-become-pass možnost při spuštění příručky, a to následujícím způsobem:

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

Nyní vás Ansible vyzve k zadání hesla SSH.

Dále vás Ansible vyzve k zadání hesla sudo. Pokud je vaše heslo sudo stejné jako heslo SSH (což je nejpravděpodobnější), nechejte je prázdné a stiskněte .

Jak vidíte, hrací kniha proběhla úspěšně.

Konfigurace automatického přihlášení SSH založeného na hesle a přihlášení sudo heslem

Možná budete chtít použít SSH a sudo přihlášení založené na heslech, ale nechcete zadávat heslo SSH a heslo sudo pokaždé, když spustíte příručku. Pokud je to váš případ, pak je tato část pro vás.

Chcete-li použít přihlašovací údaje SSH založené na heslech a přihlášení sudo, aniž byste byli vyzváni k zadání hesel, stačí přidat ansible_ssh_pass a ansible_become_pass hostitelské proměnné nebo skupinové proměnné v souboru inventáře.

Nejprve otevřete hostitelé soubor inventáře takto:

$ nano hostitelé

Pokud máte v souboru inventáře více hostitelů a každý z hostitelů má různá hesla, přidejte ansible_ssh_pass a ansible_become_pass proměnné jako hostitelské proměnné (po každém hostiteli) následujícím způsobem.

Nezapomeňte vyměnit tajný s vaším SSH a sudo heslem.

Pokud mají všichni nebo někteří hostitelé stejné heslo, můžete přidat ansible_ssh_pass a ansible_become_pass proměnné jako skupinové proměnné, jak ukazuje následující příklad.

Tady mám jen jednoho hostitele, tak jsem přidal ansible_ssh_pass a ansible_become_pass proměnné pro Všechno skupina (všichni hostitelé v souboru inventáře). Tyto proměnné však můžete přidat i pro další konkrétní skupiny.

Jakmile dokončíte přidávání ansible_ssh_pass a ansible_become_pass proměnné v hostitelé soubor inventáře, uložte hostitelé soubor inventáře stisknutím + X, následován Y a .

Nyní můžete spustit askpass2.yaml playbook, a to následovně:

$ ansible-playbook playbooks / askpass2.yaml

Jak vidíte, hrací kniha proběhla úspěšně, i když nepožadovala heslo SSH ani heslo sudo.

Takhle to používáte sshpass pro SSH a sudo přihlášení založené na heslech v Ansible. Děkujeme za přečtení tohoto článku!

Emulace kliknutí myší vznášením pomocí myši Clickless Mouse ve Windows 10
Používání myši nebo klávesnice ve špatném držení těla nadměrného používání může mít za následek mnoho zdravotních problémů, včetně napětí, syndromu ka...
Přidejte gesta myši do Windows 10 pomocí těchto bezplatných nástrojů
V posledních letech se počítače a operační systémy značně vyvinuly. Bývaly doby, kdy uživatelé museli procházet správci souborů pomocí příkazů. Stejně...
Ovládejte a spravujte pohyb myši mezi více monitory ve Windows 10
Správce myší se dvěma displeji umožňuje ovládat a konfigurovat pohyb myši mezi více monitory zpomalením jeho pohybů poblíž hranice. Windows 10/8 vám u...