Võimalik

Kuidas kasutada SSH-i paroolipõhist sisselogimist rakenduses sshpass

Kuidas kasutada SSH-i paroolipõhist sisselogimist rakenduses sshpass
Selles artiklis näitan teile, kuidas käivitada Ansible playbooke, kasutades SSH-i paroolipõhist sisselogimist sshpassiga.

Eeldused

Kui soovite proovida selles artiklis käsitletud näiteid,

1) Teie arvutisse peab olema installitud Ansible.
2) Teil peab olema vähemalt Ubuntu / Debiani host, millega saate ühenduda rakendusega Ansible.

LinuxHintis on palju artikleid, mis on pühendatud Ansible'i installimisele. Vajaduse korral saate neid kontrollida, et vajalikke programme oma süsteemi installida.

Teil on ka vaja sshpass arvutisse installitud, kuhu peaksite olema installitud Ansible. Ma näitan teile, kuidas installida sshpass selles artiklis Ubuntu / Debiani ja CentOS / RHEL-i kohta. Ärge muretsege, kui need programmid pole teie süsteemi juba installitud.

Sshpassi installimine Ubuntu / Debiani

Programm sshpass on saadaval Ubuntu / Debiani ametlikus paketihoidlas. Selle programmi saate hõlpsalt oma arvutisse installida.

Kõigepealt värskendage APT paketi hoidla vahemälu järgmise käsu kaudu:

$ sudo apt värskendus

Nüüd installige sshpass järgmise käsu kaudu:

$ sudo apt install sshpass -y

sshpass tuleks nüüd installida.

Sshpass-i installimine CentOS 8 / RHEL 8-le

sshpass on saadaval CentOS 8 / RHEL 8 EPEL-i hoidlas. Sshpassi installimiseks peab olema lubatud EPEL-hoidla.

Kõigepealt värskendage DNF-i paketi hoidla vahemälu järgmise käsu kaudu:

$ sudo dnf makecache

Järgmisena installige EPEL-i hoidla pakett järgmise käsu kaudu:

$ sudo dnf installige epel-release -y

EPEL-hoidla pakett peaks nüüd olema installitud ja EPEL-hoidla peaks olema lubatud.

Värskendage DNF-i paketi hoidla vahemälu järgmiselt:

$ sudo dnf makecache

Installige sshpass järgmise käsu kaudu:

$ sudo dnf installib sshpass -y

sshpass tuleks paigaldada.

Võimatu projekti kataloogi seadistamine

Enne kui edasi minna, oleks hea mõte luua projekti kataloogistruktuur, lihtsalt selleks, et asju natuke korrastada.

Projektikataloogi loomiseks sshpass / ja kõik vajalikud alamkataloogid (teie praeguses töökataloogis), käivitage järgmine käsk:

$ mkdir -pv sshpass / failid, esitusraamatud

Liikuge projekti kataloogi järgmiselt:

$ cd sshpass /

Loo võõrustajad varude toimik järgmiselt:

$ nano hostid

Lisage inventuuri faili oma hosti IP või DNS-i nimi.

Kui olete selle sammu lõpetanud, salvestage fail, vajutades + X, järgneb Y ja .

Looge projekti kataloogi Ansible konfiguratsioonifail järgmiselt:

$ nano on võimalik.vrd

Sisestage nüüd järgmised read võimalik.vrd faili.

Kui olete selle sammu lõpetanud, salvestage fail, vajutades + X, järgneb Y ja .

Paroolipõhise SSH-i sisselogimise testimine on võimalik

Järgmisena proovige inventeerimisfailis hostida järgmiselt:

$ ansible all -u shovon -m ping

MÄRGE: Siin, -u Valikut kasutatakse selleks, et teada anda, millise kasutajana sisse logida. Sel juhul on see kasutaja kühvel. Asendage see kasutajanimi nüüdsest kogu demo vältel oma kasutajanimega.

Nagu näete, ei ole mul võimalik hostisse sisse logida ja käske käivitada.

Ansible'i sundimiseks kasutaja parooli küsimiseks käivitage võimalik käsk -küsi-pass järgmine argument:

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

Nagu näete, küsib Ansible kasutaja SSH-parooli. Nüüd sisestage oma SSH parool (kasutaja sisselogimisparool) ja vajutage .

Hosti saab pingida järgmiselt:

Võimalik paroolipõhine SSH sisselogimine Playbooksile

Parallipõhist SSH-i sisselogimist saate kasutada, kui käivitate Ansible playbooks. Vaatame ühte näidet.

Kõigepealt looge uus mänguraamat askpass1.yaml aastal mänguraamatud / kataloogi järgmiselt:

$ nano playbooks / askpass1.yaml

Tippige väljale järgmised read askpass1.yaml esitusraamatu fail:

- võõrustajad: kõik
kasutaja: shovon
ülesanded:
- nimi: Ping kõik hostid
ping:
- nimi: printige sõnum
silumine:
msg: "Kõik seatud"

Kui olete selle sammu lõpetanud, salvestage fail, vajutades + X, järgneb Y ja .

Käivitage askpass1.yaml järgmine raamat:

$ ansible-playbooki mänguraamatud / askpass1.yaml

Nagu näete, pole mul võimalik hostiga ühendust luua. Näete, et see on tingitud sellest, et ma ei käivitanud ansible-playbook käsk -küsi-pass valik.

Käivitage askpass1.yaml mänguraamat koos -küsi-pass järgmiselt:

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

Nagu näete, küsib Ansible SSH-parooli. Sisestage oma SSH parool ja vajutage .

Näidendiraamat askpass1.yaml peaks nüüd edukalt töötama.

Esitusraamatute sudo parooliga sisselogimine

The -küsi-pass suvand küsib ainult SSH sisselogimisparooli. Mis siis, kui soovite ka sudo parooli sisestada? Kuidas seda teha, näete järgmistes sammudes.

Kõigepealt looge uus mänguraamat askpass2.yaml aastal mänguraamatud / kataloogi järgmiselt:

$ nano playbooks / askpass2.yaml

Tippige väljale järgmised read askpass2.yaml faili.

- võõrustajad: kõik
kasutaja: shovon
muutunud: Tõsi
ülesanded:
- nimi: installige pakett apache2
asjakohane:
nimi: apache2
riik: viimane
- nimi: Veenduge, et teenus apache2 töötab
teenus:
nimi: apache2
riik: alustatud
lubatud: tõene
- nimi: Kopeeri register.HTML-fail serverisse
koopia:
src:… / failid / register.HTML
dest: / var / www / html / register.HTML
režiim: 0644
omanik: www-data
rühm: www-andmed

Siin olen käsku kasutanud muutunud: Tõsi käskida Ansibleil seda esitusraamatut sudoõigustega käitada. Kui olete selle sammu lõpetanud, salvestage askpass2.yaml faili vajutades + X, järgneb Y ja .

Looge indeks.HTML faili failid / kataloogi järgmiselt:

$ nano failid / register.HTML

Sisestage aadressi järgmised HTML-koodid indeks.HTML fail:




Koduleht


Tere, Maailm


See töötab



Kui olete selle sammu lõpetanud, salvestage fail, vajutades + X järgneb Y ja .

Võite käivitada askpass2.yaml mänguraamat koos -küsi-pass järgmiselt:

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

Seejärel küsitakse teilt nagu varem SSH-parooli.

Kuid esitusraamat ei pruugi ikkagi töötada, isegi kui esitate SSH-parooli. Selle põhjuseks on asjaolu, et peate Ansible'ile käskima sudo parooli ja SSH parooli küsimist.

Võite Ansible'ile öelda sudo parooli küsimiseks, kasutades -küsima-saama-passima valik esitusraamatu käitamise ajal järgmiselt:

$ ansible-playbook - ask-pass - ask-muutunud-pass-playbookid / askpass2.yaml

Nüüd küsib Ansible SSH-i parooli.

Järgmisena küsib Ansible sudo parooli. Kui teie sudo parool on sama mis SSH parool (mis on kõige tõenäolisem), siis jätke see tühjaks ja vajutage .

Nagu näete, jooksis mänguraamat edukalt.

Automaatse paroolipõhise SSH sisselogimise ja sudo parooliga sisselogimise seadistamine

Võite kasutada paroolipõhist SSH-i ja sudo sisselogimist, kuid te ei soovi sisestada SSH-i parooli ja sudo-parooli iga kord, kui käivitate mänguraamatu. Kui see nii on, siis on see jaotis teie jaoks.

Paroolipõhise SSH sisselogimise ja sudo sisselogimise kasutamiseks ilma paroolidelt küsimata peate vaid lisama ansible_ssh_pass ja ansible_become_pass hosti muutujad või rühma muutujad teie varude failis.

Esiteks avage võõrustajad varude toimik järgmiselt:

$ nano hostid

Kui teie inventari failis on mitu masinat ja igal hostil on erinevad paroolid, siis lisage ansible_ssh_pass ja ansible_become_pass muutujad hostimuutujatena (iga hosti järel) järgmiselt.

Asendage kindlasti saladus oma SSH ja sudo parooliga.

Kui kõigil või mõnel hostil on sama parool, saate selle lisada ansible_ssh_pass ja ansible_become_pass muutujad rühmamuutujatena, nagu on näidatud allpool toodud näites.

Siin on mul ainult üks host, nii et olen selle lisanud ansible_ssh_pass ja ansible_become_pass muutujad kõik rühm (kõik masinad inventeerimisfailis). Kuid võite need muutujad lisada ka teiste konkreetsete rühmade jaoks.

Kui olete aadressi lisamise lõpetanud ansible_ssh_pass ja ansible_become_pass muutujad võõrustajad varude fail, salvestage võõrustajad inventeerimisfaili vajutades + X, järgneb Y ja .

Nüüd võite käivitada askpass2.yaml järgmine raamat:

$ ansible-playbooki mänguraamatud / askpass2.yaml

Nagu näete, jooksis esitusraamat edukalt, ehkki see ei küsinud SSH-i ega sudo-parooli.

Nii kasutate seda sshpass paroolipõhise SSH-i ja sudo sisselogimiseks rakenduses Ansible. Täname, et lugesite seda artiklit!

Tasuta ja avatud lähtekoodiga mängumootorid Linuxi mängude arendamiseks
See artikkel hõlmab loetelu tasuta ja avatud lähtekoodiga mängumootoritest, mida saab kasutada 2D- ja 3D-mängude arendamiseks Linuxis. Selliseid mängu...
Tomb Raider for Linuxi õpetus
Shadow of the Tomb Raider on kaheteistkümnes täiendus seeria Tomb Raider - tegevus- ja seiklusmängude frantsiisile, mille on loonud Eidos Montreal. Ni...
Kuidas FPS-i suurendada Linuxis?
FPS tähistab Kaadrit sekundis. FPS-i ülesanne on mõõta kaadrisagedust video taasesitamisel või mängude esitamisel. Lihtsamalt öeldes nimetatakse iga s...