Hogyan kell használni Titkosított jelszavak a Bash parancsfájlok

Jun 30, 2025
Linux
fatmawati Achmad Zaenuri / Shutterstock.com

Ha kénytelen használni egy Linux parancsfájlot, hogy csatlakozzon a jelszóval védett erőforráshoz, akkor valószínűleg nyugtalanul érzi magát a jelszó megadásáról a forgatókönyvben. Az OpenSSL megoldja ezt a problémát az Ön számára.

Jelszavak és szkriptek

Nem nagyszerű ötlet, hogy jelszavakat tegyen a shell parancsfájlokban. Valójában ez egy nagyon rossz ötlet. Ha a forgatókönyv rossz kezekbe esik, mindenki, aki elolvassa, láthatja, hogy mi a jelszó. De ha kénytelen használni egy forgatókönyvet, mit tehetsz még?

A jelszót manuálisan adhatja meg, ha a folyamat eléri ezt a pontot, de ha a szkript felügyelet nélkül fut, akkor ez nem fog működni. Szerencsére van egy alternatíva a jelszavak keménykódolására a forgatókönyvbe. Az ellentétes módon különböző jelszót használ erre, és néhány erős titkosítással együtt.

Példámban, meg kell, hogy egy távoli kapcsolatot a Fedora Linux számítógép a mi Ubuntu számítógépen. Egy bash shell parancsfájlt fogunk használni, hogy SSH-kapcsolatot készítsen a Fedora számítógépre. A szkript felügyelet nélkül kell futnia, és nem szeretnénk a jelszót a távoli fiókhoz a forgatókönyvben. Ebben az esetben nem tudjuk használni az SSH kulcsokat, mert úgy teszünk, mintha úgy teszünk, hogy nincsenek ellenőrzési vagy adminisztrátori joguk a Fedora számítógépen.

Használjuk a jól ismert OpenSSL Toolkit A titkosítás és a hívott segédprogram kezelése sshpass A jelszó beillesztése az SSH parancsba.

ÖSSZEFÜGGŐ: Az SSH kulcsok létrehozása és telepítése a Linux Shellből

Az OpenSSL és az SSOLPASS telepítése

Mivel sok más titkosítási és biztonsági eszköz használja az OpenSSL-t, akkor már telepíthető a számítógépre. Ha azonban nem, akkor csak egy pillanatra van telepíteni.

Az Ubuntu-on írja be ezt a parancsot:

 sudo apt kap az openssl-t 

Üzembe helyezni sshpass , használja ezt a parancsot:

 sudo apt telepítése sshappy 

A Fedora-on be kell írnia:

 Sudo DNF Install OpenSSL 

A telepíteni kívánt parancs sshpass :

 sudo dnf telepítése sshpass 

A Manjaro Linuxon telepíthetjük az OpenSSL-t:

 sudo pacman -sy openssl 

Végül telepíteni kell sshpass , használja ezt a parancsot:

 sudo pacman -sy sshappy 

Titkosítva a parancssorban

Mielőtt bejutnunk a openssl Parancs a szkriptekkel, hogy ismerkedjen meg vele a parancssorban. Tegyük fel, hogy a távoli számítógép fiókja jelszava rozsdás! hering.pitshaft . A jelszót titkosítjuk openssl .

Meg kell adnunk egy titkosítási jelszót, amikor megteszünk. A titkosítási jelszót használják a titkosítási és dekódolási folyamatokban. Sok paraméter és lehetőség van a openssl parancs. Egy pillanat alatt megnézzük mindegyiküket.

 echo 'rozsdás! Hering.pitsft' | openssl ENC -aes-256-CBC -MD sha512 -a -pbkdf2 -iter 100000 -só -pass Pass: 'pick.your.password' 

Használjuk visszhang A távoli fiók jelszavának küldése csően és a openssl parancs.

Az openssl Paraméterek:

  • Enc -aes-256-CBC : A kódolási típus. A Speciális titkosítási szabvány 256 bites kulcstartó cipher-blokk láncolással.
  • -md sha512 : Az üzenet megjegyezte (hash) típusát. Az SHA512 kriptográfiai algoritmust használjuk.
  • -a : Ez megmondja openssl A bázis-64 kódolást a titkosítási fázis után és a dekódolási fázis előtt alkalmazza.
  • -pbkdf2 : A jelszó-alapú kulcsszármazási funkció használata 2 (pbkdf2) sokkal nehezebbé teszi a Brute Force Attack számára, hogy sikerül megtalálja a jelszavát. A PBKDF2 sok számot igényel a titkosítás elvégzéséhez. A támadónak meg kell ismételnie az összes ilyen számot.
  • -iter 100000 : Beállítja a pbkdf2 számítások számát.
  • -só : A véletlenszerűen alkalmazott sóérték használata minden alkalommal eltérővé teszi a titkosított kimenetet, még akkor is, ha a sima szöveg ugyanaz.
  • -pass Pass: 'pick.your.password' : A titkosított távoli jelszó visszafejtéséhez szükséges jelszó. Helyettes pick.your.password Robusztus jelszóval a választott.

A titkosított változata rozsdás! hering.pitshaft A jelszó a terminálablakba van írva.

Ezt visszafejtjük, át kell adnunk a titkosított sztringet openssl ugyanazokkal a paraméterekkel, amelyeket titkosítunk, de hozzáadjuk a -d (Decypt) opció.

 echo u2fsdgvkx19iiirhesg + wm / ukjtzjwnyopjzphyrdkzh5lvzrpigo1s0gosu46 | OpenSSL ENC -AES-256-CBC -MD SHA512 -A -D -PBKDF2 - 100000 -Salt -Pass Pass: 'pick.your.password' 

A karakterlánc visszafejtésre kerül, és az eredeti szövegünk - a távoli felhasználói fiók jelszava - a terminálablakba van írva.

Ez azt bizonyítja, hogy biztonságosan titkosíthatjuk távoli felhasználói fiók jelszavát. Azt is visszafejtjük, ha szükségünk van rá a titkosítási fázisban megadott jelszó használatával.

De ez ténylegesen javítja a helyzetünket? Ha szükségünk van a titkosítási jelszóra, hogy dekódolja a távoli fiók jelszavát, biztosan a dekódolási jelszónak a forgatókönyvben kell lennie? Nos, igen, igen. De a titkosított távoli felhasználói fiók jelszavát más, rejtett fájlban tárolják. A fájl engedélyei megakadályozzák senkit, de a rendszer root felhasználóját, nyilvánvalóan - a hozzáféréstől.

Ha elküldi a kimenetet a titkosítási parancsról egy fájlra, átirányíthatjuk. A fájlt ".secret_vault.txt". Megváltoztattuk a titkosítási jelszót valami robusztusra.

 echo 'rozsdás! Hering.pitsft' | OpenSSL ENC -AES-256-CBC -MD SHA512 -A -PBKDF2-Biter 100000 -Salt -pass Pass: "Secret # Vault! Jelszó" & gt; .secret_vault.txt 

Semmi látható sem történik, de a jelszó titkosítva van és elküldi a ".secret_vault.txt" fájlt.

Megpróbálhatjuk, hogy működjön a jelszó visszafejtésével a rejtett fájlban. Ne feledje, hogy használjuk macska itt, nem visszhang .

 macska .secret_vault.txt | OpenSSL ENC -AES-256-CBC -MD SHA512 -A -D -DBKDF2 - 100000 -Salt -Pass Pass: 'Secret # Vault! Jelszó' 

A jelszó sikeresen visszafejtésre kerül a fájl adataiból. Jól használat chmod Az engedély engedélyezéseinek megváltoztatása, hogy senki más ne férhessen hozzá.

 CHMOD 600 .Secret_vault.txt 
 LS -L .Secret_vault.txt 

A 600 jogosultsági maszk használata eltávolítja az összes hozzáférést bárkinek, mint a fájl tulajdonosa. Most már továbbléphetünk a forgatókönyvünk írására.

ÖSSZEFÜGGŐ: Hogyan kell használni a Chmod parancsot a Linuxon

Az OpenSSL használata egy szkriptben

A szkriptünk nagyon egyszerű:

 #! / Bin / bash

# A távoli fiók neve
Remote_user = geek

# Jelszó a távoli fiókhoz
Remote_passwd = $ (Cat .secret_vault.txt | OpenSSL ENC -AES-256-CBC -MD SHA512 -A -D -DBKDF2-ADER 100000 -DALT -PASS PASS: 'SECRET # Vault! Password')

# távoli számítógép
Remote_Linux = Fedora-34.Local

# Csatlakoztassa a távoli számítógéphez, és tegyen egy időbélyeget a Script.log nevű fájlba
sshpass -p $ remote_passwd ssh -t $ remote_user @ $ remote_linux & lt; & lt; _Remote_commands
echo $ felhasználói "-" $ (dátum) & gt; & gt; /Home/$Remote_user/script.log
_Remote_commands 
  • Egy változót állítunk be Remek_user "geek".
  • Ezután beállítottunk egy változót Távoli_passwd Az érték a dekódolt jelszó kihúzták a „.secret_vault.txt” fájlt, ugyanazt a parancsot, hogy szoktuk egy perce.
  • A távoli számítógép helyét egy változóban tárolják Távoli_linux .

Ezzel az információval használhatjuk a ssh parancs a távoli számítógéphez való csatlakozáshoz.

  • Az sshpass A parancs az első parancs a csatlakozóvonalon. Használjuk a -P (Jelszó) opció. Ez lehetővé teszi számunkra, hogy adjuk meg a jelszót, amelyet meg kell küldeni a ssh parancs.
  • A -T (A Pseudo-Terminal Allocation) opció letiltása ssh Mert nem kell egy pszeudo-tty-t kiosztani nekünk a távoli számítógépen.

Röviden használunk Itt van a dokumentum parancsot a távoli számítógépre. Mindent a kettő között _Remote_commands A húrok utasításokként kerülnek elküldésre a távoli számítógépen található felhasználói munkamenethez - ebben az esetben ez egy sor bash szkript.

A távoli számítógépre küldött parancs egyszerűen naplózza a felhasználói fiók nevét és egy időbélyegzőt a "Script.log" fájlhoz.

Másolja be a script egy szerkesztő, és mentse el a fájlt a „go-remote.sh.” Ne feledje, hogy megváltoztatja a részleteket, hogy tükrözze a saját távoli számítógép, távoli felhasználói fiók és távoli fiók jelszava címét.

Használat chmod hogy a parancsfájl végrehajtható legyen.

 chmod + x go-remote.sh 

Minden, ami maradt, hogy kipróbáld ki. Tűzezzük fel a forgatókönyvet.

 ./ go-remote.sh 

Mivel a szkriptünk egy minimalista sablon egy felügyelet nélküli szkripthez, nincs kimenet a terminálhoz. De ha megnézzük a "Script.log" fájlt a Fedora számítógépen, láthatjuk, hogy a távoli kapcsolatok sikeresen készültek, és hogy a "Script.log" fájl frissült az időbélyegzőkkel.

 CAT Script.log 

A jelszava privát

A távoli fiók jelszava nem kerül rögzítésre a szkriptben.

És bár a dekódolási jelszó van, A szkriptben senki más nem férhet hozzá a ".secret_vault.txt" fájlhoz annak érdekében, hogy visszafejtse és letöltheti a távoli fiók jelszavát.


Linux - Most Popular Articles

Hogyan kezelése Linux szerverek a Cockpit Web Interface

Linux Dec 9, 2025

Fatmawati Achmad Zaenuri / Shutterstock Könnyedén nyomon követése és kezelése több Linux számítógépek Cockpit, böngésző alapú adminisztráció �..


Hogyan telepítsük Signal Desktop Linux

Linux Jan 22, 2026

Eliseu Geisler / Shutterstock.com Jel van Az adatvédelmi-központú okostelefon üzenetküldő alkalmazás mindenki úgy tűnik, hogy haszná..


Hogyan zárolása Mac A Terminál

Linux Feb 16, 2026

Az egyik első szabályainak kiberbiztonság, hogy mindig lezárni a számítógépet, mielőtt ellépett tőle. Bár lehet, hogy ez nem a leggyorsabb módja, akkor az Apple Mac készül..


Docker kezdőknek: Minden, amit tudnia kell,

Linux Jun 15, 2025

Dokkmunkás Csomagolt alkalmazások létrehozása úgynevezett konténerek. Minden tartály egy elszigetelt környezetet biztosít a Virtuális gép (VM). El..


Újdonságok a Linux Kernel 5.14

Linux Sep 9, 2025

Sean Locke Photography / Shutterstock Mivel a Linux fordul 30 éves, kernel 5,14 feloldották. Ez tartalmazza a szokásos széles kínálatával belső below-t..


Újdonságok a Fedorában 35

Linux Nov 2, 2025

Fedora 35, piros kalap Ingyenes Linux eloszlás (Distro), 2021. november 2-án megjelent. A frissített asztali tapasztalatból a mögötti jelenetek mögött a Tweak..


Hogyan kell felsorolni a környezeti változókat a linuxon

Linux Oct 31, 2025

A Linuxon a környezeti változók fontos értékeket és beállításokat tartalmaznak. A szkriptek, alkalmazások és héjak ezeket az értékeket olvasják, gyakran maguk konfigurálására ..


Hogyan lehet felsorolni a Linux szolgáltatásokat a SystemCtl segítségével

Linux Oct 18, 2025

A Linux számítógépe sok háttérfeladatra támaszkodik, úgynevezett szolgáltatások vagy démonok. A SystemD-alapú disztribúciókon beépített parancsok vannak, amelyek lehetővé tesz..


Kategóriák