Negalima

Kaip naudoti SSH slaptažodžiu pagrįstą prisijungimą naudojant „Ansible Using sshpass“

Kaip naudoti SSH slaptažodžiu pagrįstą prisijungimą naudojant „Ansible Using sshpass“
Šiame straipsnyje aš jums parodysiu, kaip paleisti „Ansible playbooks“ naudojant SSH slaptažodžiu pagrįstą prisijungimą su „sshpass“.

Būtinos sąlygos

Jei norite išbandyti šiame straipsnyje aptartus pavyzdžius,

1) Savo kompiuteryje turite būti įdiegę „Ansible“.
2) Jūs turite turėti bent Ubuntu / Debian pagrindinį kompiuterį, prie kurio galėsite prisijungti iš „Ansible“.

„LinuxHint“ yra daug straipsnių, skirtų įdiegti „Ansible“. Galite patikrinti, jei reikia, kad įdiegtumėte reikiamas programas savo sistemoje.

Jums taip pat reikės turėti sshpass įdiegta jūsų kompiuteryje, kur turėtumėte įdiegti „Ansible“. Aš jums parodysiu, kaip įdiegti sshpass apie Ubuntu / Debian ir CentOS / RHEL šiame straipsnyje. Nesijaudinkite, jei dar neturite šių programų savo sistemoje.

„Sshpass“ diegimas „Ubuntu“ / „Debian“

Programa sshpass yra oficialioje „Ubuntu / Debian“ paketų saugykloje. Šią programą galite lengvai įdiegti savo kompiuteryje.

Pirmiausia atnaujinkite APT paketų saugyklos talpyklą naudodami šią komandą:

$ sudo apt atnaujinimas

Dabar įdiekite sshpass naudodami šią komandą:

$ sudo apt install sshpass -y

Dabar turėtų būti įdiegtas „sshpass“.

„Sshpass“ diegimas „CentOS 8 / RHEL 8“

sshpass yra „CentOS 8 / RHEL 8“ EPEL saugykloje. Norėdami įdiegti „sshpass“, turite būti įgalinę EPEL saugyklą.

Pirmiausia atnaujinkite DNF paketo saugyklos talpyklą naudodami šią komandą:

$ sudo dnf makecache

Tada įdiekite EPEL saugyklos paketą naudodami šią komandą:

$ sudo dnf įdiekite epel-release -y

Dabar turėtų būti įdiegtas EPEL saugyklos paketas ir įgalinta EPEL saugykla.

Dar kartą atnaujinkite DNF paketo saugyklos talpyklą taip:

$ sudo dnf makecache

Diegti sshpass naudodami šią komandą:

$ sudo dnf įdiekite sshpass -y

sshpass turėtų būti įdiegta.

Anoniminio projekto katalogo nustatymas

Prieš pereinant toliau, būtų gera mintis sukurti projekto katalogo struktūrą, kad viskas būtų šiek tiek sutvarkyta.

Norėdami sukurti projekto katalogą sshpass / ir visus reikalingus pakatalogius (dabartiniame darbo kataloge), vykdykite šią komandą:

$ mkdir -pv sshpass / failai, grojaraščiai

Eikite į projekto katalogą taip:

$ cd sshpass /

Sukurti šeimininkai atsargų byla taip:

$ nano šeimininkai

Pridėkite pagrindinio kompiuterio IP arba DNS pavadinimą į atsargų failą.

Baigę šį veiksmą, išsaugokite failą paspausdami + X, paskui Y ir .

Projekto kataloge sukurkite Ansible konfiguracijos failą taip:

$ nano galima.plg

Dabar įveskite šias eilutes įmanoma.plg failą.

Baigę šį veiksmą, išsaugokite failą paspausdami + X, paskui Y ir .

Testuojamas slaptažodžiu pagrįstas SSH prisijungimas prie „Ansible“

Tada pabandykite pinguoti kompiuterius inventoriaus faile taip:

$ ansible all -u shovon -m ping

PASTABA: Čia, -u parinktis naudojama nurodant, kuriam vartotojui reikia prisijungti. Šiuo atveju tai bus vartotojas shovon. Nuo šiol visą demonstracinę versiją pakeiskite šį vartotojo vardą savo vardu.

Kaip matote, negaliu prisijungti prie pagrindinio kompiuterio ir paleisti jokių komandų.

Norėdami priversti „Ansible“ paprašyti vartotojo slaptažodžio, paleiskite įmanoma komanda su -klausti-perduoti argumentą:

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

Kaip matote, „Ansible“ paprašo vartotojo SSH slaptažodžio. Dabar įveskite savo SSH slaptažodį (vartotojo prisijungimo slaptažodį) ir paspauskite .

Pagrindinį kompiuterį galima pinguoti taip:

SSL prisijungimas prie „Playbooks“ slaptažodžiu

SSH prisijungimą galite naudoti slaptažodžiu, kai paleidžiate „Ansible playbooks“. Pažvelkime į pavyzdį.

Pirmiausia sukurkite naują pjesę askpass1.yaml viduje konors grojaraščiai / katalogą:

„$ nano“ grojaraščiai / „askpass“.yaml

Įveskite šias eilutes askpass1.yaml grojaraščio failas:

- šeimininkai: visi
vartotojas: shovon
užduotys:
- vardas: Ping visi kompiuteriai
ping:
- pavadinimas: išspausdinkite pranešimą
derinti:
pranešimas: „Viskas nustatyta“

Baigę šį veiksmą, išsaugokite failą paspausdami + X, paskui Y ir .

Paleiskite askpass1.yaml pjesė:

$ ansible-playbook playbooks / askpass1.yaml

Kaip matote, negaliu prisijungti prie pagrindinio kompiuterio. Matote, kad taip yra todėl, kad aš nepaleidau ansible-playbook komanda su -klausti-perduoti variantą.

Paleiskite askpass1.yaml pjesė su -klausti-perduoti parinktį taip:

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

Kaip matote, „Ansible“ prašo įvesti SSH slaptažodį. Įveskite savo SSH slaptažodį ir paspauskite .

Pjesių knyga askpass1.yaml dabar turėtų sėkmingai veikti.

„Playbooks“ prisijungimas prie „sudo“ slaptažodžio

The -klausti-perduoti parinktis paprašys tik SSH prisijungimo slaptažodžio. Ką daryti, jei taip pat norite įvesti sudo slaptažodį? Kaip tai padaryti, pamatysite atlikdami kitus veiksmus.

Pirmiausia sukurkite naują pjesę askpass2.yaml viduje konors grojaraščiai / katalogą:

$ nano grojaraščiai / askpass2.yaml

Įveskite šias eilutes askpass2.yaml failą.

- šeimininkai: visi
vartotojas: shovon
tapti: Tiesa
užduotys:
- pavadinimas: įdiekite apache2 paketą
apt:
vardas: apache2
būsena: vėliausia
- vardas: Įsitikinkite, kad veikia apache2 paslauga
paslauga:
vardas: apache2
būsena: prasidėjo
įjungta: tiesa
- pavadinimas: Kopijuoti rodyklę.HTML failą į serverį
kopija:
src:… / failai / rodyklė.HTML
dest: / var / www / html / index.HTML
režimas: 0644
savininkas: www-data
grupė: www duomenys

Čia aš naudoju komandą tapti: Tiesa liepti Ansible paleisti šią grojaraštį su sudo teisėmis. Baigę šį veiksmą, išsaugokite askpass2.yaml failą paspausdami + X, paskui Y ir .

Sukurkite indeksas.HTML failą failai / katalogą:

$ nano failai / rodyklė.HTML

Įveskite šiuos HTML kodus į indeksas.HTML failas:




Pagrindinis puslapis


Labas pasauli


Tai veikia



Baigę šį veiksmą, išsaugokite failą paspausdami + X paskui Y ir .

Galite paleisti askpass2.yaml pjesė su -klausti-perduoti parinktį taip:

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

Tada, kaip ir anksčiau, jūsų bus paprašyta įvesti SSH slaptažodį.

„Playbook“ vis tiek gali neveikti, net jei pateikiate SSH slaptažodį. To priežastis yra ta, kad jūs turite pasakyti „Ansible“ prašyti sudo slaptažodžio ir SSH slaptažodžio.

Galite pasakyti „Ansible“ paprašyti sudo slaptažodžio naudodami -klausti-tapti-praeiti parinktį paleisdami grojaraštį taip:

$ ansible-playbook --ask-pass - ask-tapti-pass grojaraščiai / askpass2.yaml

Dabar „Ansible“ paprašys įvesti SSH slaptažodį.

Tada „Ansible“ paprašys sudo slaptažodžio. Jei jūsų sudo slaptažodis sutampa su SSH slaptažodžiu (tai greičiausiai), palikite jį tuščią ir paspauskite .

Kaip matote, pjesė sėkmingai paleista.

Automatinio SSH prisijungimo ir sudo slaptažodžio prisijungimo konfigūravimas

Galbūt norėsite naudoti slaptažodžiu pagrįstą SSH ir „sudo“ prisijungimą, bet nenorite įvesti SSH slaptažodžio ir sudo slaptažodžio kiekvieną kartą paleidę grojaraštį. Jei taip yra, tada šis skyrius skirtas jums.

Jei norite naudoti slaptažodžiu pagrįstą SSH prisijungimą ir „sudo“ prisijungimą be raginimo įvesti slaptažodžius, tereikia pridėti ansible_ssh_pass ir ansible_become_pass pagrindinio kompiuterio kintamieji arba grupės kintamieji jūsų inventoriaus faile.

Pirmiausia atidarykite šeimininkai atsargų byla taip:

$ nano šeimininkai

Jei jūsų inventoriaus faile yra keli pagrindiniai kompiuteriai ir kiekvienas iš jų turi skirtingus slaptažodžius, pridėkite ansible_ssh_pass ir ansible_become_pass kintamieji kaip pagrindinio kompiuterio kintamieji (po kiekvieno pagrindinio kompiuterio) taip.

Būtinai pakeiskite paslaptis su savo SSH ir sudo slaptažodžiu.

Jei visi arba kai kurie pagrindiniai kompiuteriai turi tą patį slaptažodį, galite pridėti ansible_ssh_pass ir ansible_become_pass kintamieji kaip grupės kintamieji, kaip parodyta toliau pateiktame pavyzdyje.

Čia aš turiu tik vieną pagrindinį kompiuterį, todėl pridėjau ansible_ssh_pass ir ansible_become_pass kintamieji visi grupė (visi kompiuteriai inventoriaus byloje). Bet jūs galite pridėti šiuos kintamuosius ir kitoms konkrečioms grupėms.

Kai baigsite pridėti ansible_ssh_pass ir ansible_become_pass kintamieji šeimininkai inventoriaus failą, išsaugokite šeimininkai inventoriaus failą paspausdami + X, paskui Y ir .

Dabar galite paleisti askpass2.yaml pjesė:

$ ansible-playbook playbooks / askpass2.yaml

Kaip matote, „playbook“ buvo sėkmingai paleista, nors ji neprašė nei SSH, nei „sudo“ slaptažodžio.

Taigi, taip jūs naudojatės sshpass slaptažodžiu pagrįstam SSH ir „sudo“ prisijungimui prie „Ansible“. Dėkojame, kad perskaitėte šį straipsnį!

Geriausi „Linux“ žaidimų distristai 2021 m
„Linux“ operacinė sistema nuėjo ilgą kelią nuo originalios, paprastos, serverio išvaizdos. Ši OS pastaraisiais metais nepaprastai patobulėjo ir dabar ...
Kaip užfiksuoti ir perduoti savo žaidimų sesiją sistemoje „Linux“
Anksčiau žaidimai buvo laikomi tik pomėgiu, tačiau laikui bėgant lošimų pramonė labai augo technologijų ir žaidėjų skaičiaus atžvilgiu. Žaidimų audito...
Geriausi žaidimai, kuriuos reikia žaisti naudojant rankos stebėjimą
„Oculus Quest“ neseniai pristatė puikią rankos stebėjimo be valdiklių idėją. „Oculus Quest“ rankų sekimo žaidimai iki šiol buvo ribojami, kai žaidimų ...