Kuinka käyttää salattuja salasanoja bash-komentosarjoissa

Jun 30, 2025
Linux
fatmawati achmad zaenuri / shutterstock.com

Jos olet pakko käyttää Linux-komentosarjaa yhteyden muodostamiseen salasanalla suojattuun resurssiin, luultavasti tuntuu levottomalta siitä, että salasana laittaa skripti. OpenSSL ratkaisee tämän ongelman sinulle.

Salasanat ja komentosarjat

Se ei ole loistava idea laittaa salasanoja Shell-komentosarjoihin. Itse asiassa se on todella huono idea. Jos komentosarja putoaa väärään käsiin, kaikki, jotka lukevat, voi nähdä, mitä salasana on. Mutta jos olet pakko käyttää käsikirjoitusta, mitä muuta voit tehdä?

Voit syöttää salasanan manuaalisesti, kun prosessi saavuttaa tämän pisteen, mutta jos komentosarja ajetaan vartioimatta, se ei toimi. Onneksi on vaihtoehto vaikea koodattava salasanat käsikirjoitukseen. Vastauslaitteella se käyttää erilaista salasanaa tämän saavuttamiseksi sekä jonkin verran voimakasta salausta.

Esimerkkiskenaamme meidän on tehtävä etäyhteys Fedora Linux-tietokoneeseen Ubuntu-tietokoneesta. Käytämme bash-shell-komentoa SSH-yhteyden muodostamiseksi Fedora-tietokoneeseen. Skriptin on toimitettava vartioimatta, emmekä halua laittaa salasanaa kauko-tilille käsikirjoituksessa. Emme voi käyttää SSH-näppäimiä tässä tapauksessa, koska me teeskentelemme, että meillä ei ole valvontaa tai järjestelmänvalvojan oikeuksia Fedora-tietokoneessa.

Aiomme käyttää tunnettuja OpenSSL Toolkit käsitellä salausta ja apuohjelmaa kutsutaan spspass Voit syöttää salasanan SSH-komentoon.

Liittyvät: Kuinka luoda ja asentaa SSH-näppäimet Linux Shellistä

Asentaminen OpenSSL ja SSHPASS

Koska monet muut salaus- ja tietoturvatyökalut käyttävät OpenSSL: tä, se voi olla jo asennettu tietokoneeseen. Kuitenkin, jos se ei ole, se vie vain hetken asentaa.

Kirjoita Ubuntu, kirjoita tämä komento:

 sudo apt get OpenSSL 

Asentaa spspass , käytä tätä komentoa:

 sudo apt asentaa spshpass 

Fedoralla sinun on kirjoitettava:

 sudo dnf asennus OpenSSL 

Komento asentaa spspass On:

 sudo dnf asentaa sshpass 

Manjaro Linuxissa voimme asentaa OpenSSL: n:

 sudo pacman -syssl 

Lopuksi asentaa spspass , käytä tätä komentoa:

 sudo pacman-spspass 

Salaaminen komentorivillä

Ennen kuin pääsemme käyttämään opensl Komento komentosarjoilla, tutustu siihen käyttämällä sitä komentoriviltä. Sanotaan, että etätietokoneen tilin salasana on Rusty! Herring.Pitshaft . Aiomme salata salasanan käyttämällä opensl .

Meidän on annettava salaussalasana, kun teemme. Salaussalasana käytetään salaus- ja salausprosesseissa. On paljon parametreja ja vaihtoehtoja opensl komento. Katsomme jokaiselle heistä hetkessä.

 Echo 'Rusty! Herring.Pitshaft' | OpenSSL ENC -AES-256-CBC -MD SHA512 -A -PBKDF2 -TER 100000 -SALT -PASS PASS: 'Pick.Your.password' 

Käytämme kaiku Voit lähettää kauko-tilin salasanan putken ja opensl komento.

The opensl Parametrit ovat:

  • Enc -aes-256-CBC : Koodaustyyppi. Käytämme Kehittynyt salausstandardi 256-bittinen avain salaus salauslohkoketjulla.
  • -MD SHA512 : Viesti Digest (HASH) tyyppi. Käytämme SHA512-kryptografista algoritmia.
  • -a : Tämä kertoo opensl Käytä Base-64-koodausta salausvaiheen jälkeen ja ennen salauksen purkamisen jälkeen.
  • -pbkdf2 : Password-pohjaisen avainjohdannimen käyttäminen 2 (PBKDF2) tekee siitä paljon vaikeampaa raakavoiman hyökkäykselle, jotta voit menestyä salasanasi. PBKDF2 vaatii monia laskelmia salauksen suorittamiseksi. Hyökkääjällä olisi täydennettävä kaikki nämä laskelmat.
  • -iter 100000 : Asettaa laskennan määrän, että PBKDF2 käyttää.
  • -suola : Käyttämällä satunnaisesti levitetään suolaa arvo saa salatun lähdön eri joka kerta, vaikka pelkkä teksti on sama.
  • pass pass:’pick.your.password’ : Salasanan meidän täytyy käyttää purkaa salatun kauko salasana. korvike pick.your.password tukevalla valitsemallasi salasanalla.

Salatun versio meidän Rusty! Herring.Pitshaft salasana kirjoitetaan pääteikkuna.

Jos haluat purkaa tämän, meidän täytyy kulkea että salattu merkkijono opensl samoilla parametrit käytimme salata, mutta lisäämällä vuonna -D (Decrypt) vaihtoehto.

 kaiun U2FsdGVkX19iiiRNhEsG + wm / uKjtZJwnYOpjzPhyrDKYZH5lVZrpIgo1S0goZU46 | openssl enc -aes-256-CBC -MD SHA512 -a -D -pbkdf2 -iter 100000 -suolaa pass pass: 'pick.your.password' 

Merkkijono puretaan, ja meidän alkuperäinen teksti-salasana kauko käyttäjätili-kirjoitetaan pääteikkuna.

Joka todistaa, että voimme turvallisesti salata syrjäinen käyttäjätilin salasanaa. Voimme myös purkaa sen, kun sitä tarvitsemme käyttämällä salasanaa, että me annetaan salauksen vaiheessa.

Mutta tämä todella parantaa tilannetta? Jos tarvitsemme salauksen salasanan purkaa etätili salasanan, varmasti salauksen salasanan täytyy olla script? No, kyllä, se tekee. Mutta salattu kauko käyttäjän salasana tallennetaan eri, piilotettu tiedosto. Käyttöoikeuksia tiedosto estää ketään, mutta sinä-ja järjestelmän pääkäyttäjän, ilmeisesti-käyttämästä sitä.

Lähettää lähdön salauskomento tiedostoon, voimme käyttää uudelleenohjaus. Tiedosto on nimeltään ”.secret_vault.txt.” Olemme muuttaneet salauksen salasanan jotain vahvempaa.

 Echo 'Rusty! Herring.Pitshaft' | openssl ENC -aes-256-CBC -MD SHA512 -a -pbkdf2 -iter 100000 -suolaa pass pass: 'salaisuus # holvi! salasana' & gt; .secret_vault.txt 

Mitään näkyviä tapahdu, mutta salasana salataan ja lähetetään ”.secret_vault.txt” tiedosto.

Voimme testata, että se toimi purkamalla salasana piilotiedosto. Huomaa, että käytämme kissa täällä, ei kaiku .

 kissa .secret_vault.txt | openssl ENC -aes-256-CBC -MD SHA512 -a -D -pbkdf2 -iter 100000 -suolaa pass pass: 'salaisuus # holvi! salasana' 

Salasana on onnistuneesti purettu datasta tiedostoon. Hyvin käyttää chmod muuttaa tiedoston käyttöoikeudet, jotta kukaan muu ei voi käyttää sitä.

 chmod 600 .secret_vault.txt 
 ls-l .secret_vault.txt 

Käyttämällä luvat peittää 600 poistaa kaikki pääsy muille kuin tiedoston omistaja. Voimme nyt siirtyä Kirjoitamme myös käsikirjoituksen.

Liittyvät: Kuinka käyttää chmod Command Linux

Käyttäen OpenSSL on Script

Meidän kirjoitus on melko yksinkertainen:

 #! / Bin / bash

# Nimi etätili
REMOTE_USER = pelle

# Salasana etätili
REMOTE_PASSWD = $ (cat .secret_vault.txt | OpenSSL ENC -aes-256-CBC -MD SHA512 -a -D -pbkdf2 -iter 100000 -suolaa pass pass: "salaisuus # holvi! Salasana)

# Etätietokoneen
REMOTE_LINUX = fedora-34.local

# Yhteyden etätietokoneeseen ja laittaa aikaleima tiedostoon nimeltä script.log
sshpass p $ REMOTE_PASSWD ssh -T $ REMOTE_USER @ $ REMOTE_LINUX & lt; & lt; _remote_commands
ECHO $ ​​Käyttäjä "-" $ (päivämäärä) & gt; & gt; /home/$REMOTE_USER/script.log
_remote_commands 
  • Asetamme muuttuja nimeltä REMOTE_USER ja ”pelle”.
  • Sen jälkeen määritetään muuttuja nimeltään REMOTE_PASSWD arvoon salaamattoman salasanan vedettiin ”.secret_vault.txt” tiedosto käyttäen samaa komentoa käytimme hetki sitten.
  • Sijainti etätietokoneen tallennetaan muuttujaan nimeltä REMOTE_LINUX .

Näiden tietojen, voimme käyttää ssh komento yhteyden etätietokoneeseen.

  • The spspass komento on ensimmäinen komento yhdistävällä viivalla. Käytämme sitä kanssa -p (Salasana) -vaihtoehto. Näin voit määrittää salasanan, joka olisi lähetettävä ssh komento.
  • Käytämme -T (Poista pseudo-terminaali) -vaihtoehto käytöstä ssh Koska meidän ei tarvitse olla pseudo-tty, joka on kohdistettu meille etätietokoneessa.

Käytämme lyhyitä Tässä asiakirja Voit siirtää komennon etätietokoneeseen. Kaikki kahden välillä _remote_commands Strings lähetetään ohjeiksi etätietokoneen käyttäjäistunnossa - tässä tapauksessa se on yksi rivi bash-script.

Remote-tietokoneeseen lähetetty komento kirjataan yksinkertaisesti käyttäjätunnuksen nimen ja aikaleiman tiedostoon nimeltä "Script.log".

Kopioi ja liitä komentosarja editori ja tallenna se tiedosto nimeltä "Go-remote.sh". Muista muuttaa yksityiskohtia, jotka heijastavat oman etätietokoneen, etäkäyttäjätilin ja kauko-tilin salasanan osoitteen.

Käyttää chmod tehdä käsikirjoituksen suoritettavaksi.

 Chmod + x go-remot.sh 

Kaikki tämä on jäljellä, on kokeilla sitä. Lähdetään komentosarjan.

 ./ go-remote.sh 

Koska käsikirjoitus on minimalistinen malli valvomattomalle käsikirjoitukselle, päätelaitteelle ei ole lähtöä. Mutta jos tarkistamme "Script.log" -tiedoston Fedora-tietokoneella, voimme nähdä, että etäyhteydet on onnistuneesti tehty ja että "script.log" -tiedosto on päivitetty aikaleimoilla.

 Cat Script.log 

Salasana on yksityinen

Kauko-tilisi salasana ei tallenneta käsikirjoitukseen.

Ja vaikka salauksen salauksen salasana On, Käsikirjoituksessa kukaan muu ei voi käyttää ".secret_vault.txt" -tiedostoa purkamaan se ja hakea kauko-tilin salasana.


Linux - Suosituimmat artikkelit

Miten löytää ja poistaa rikki symbolit Linuxissa

Linux Nov 12, 2025

Fatmawati Achmad Zaenuri / Shutterstock Linux-symboliset linkit ovat fantastinen ominaisuus, mutta ne voivat rikkoa ja jättää huomiotta mitään. Näin vo..


Asentaminen Signal Desktop Linux

Linux Jan 22, 2026

Eliseu Geislerin / Shutterstock.com Signaali On yksityisyyden keskittyvä älypuhelin viestisovelluksen kaikki tuntuu käyttävän . Voit..


Kuinka käsitellä tiedoston rivin linja Linux Bash Script

Linux Feb 3, 2026

Fatmawati Achmad Zaenuri / Shutterstock Se on melko helppo lukea sisällön Linux tekstitiedoston rivi riviltä komentotulkkiskripti-kunhan käsitellä joita..


Kuinka käyttää Brace laajennus Linuxin bash-kuoressa

Linux May 12, 2025

Fatmawati Achmad Zaenuri / Shutterstock Brace laajennus on käyttökelpoinen menetelmä tuottaa luetteloita merkkijonoja, jotka voidaan käyttää skriptit ja ..


Miten kiertää ytimen Linuxissa

Linux Sep 30, 2025

fatmawati achmad zaenuri / shutterstock.com Jos Linux-PC yhtäkkiä asiat jälkeen päivittämistä järjestelmään, se on mahdollistanut Linux-ytimen..


Native pelaaminen Linux Voi olla Dying, ja se on ok

Linux Sep 27, 2025

DC Studio / Shutterstock.com The Höyrykansi , Ilmoitti elokuussa 2021 on Linux pelaamista piireissä puhutaan tulevaisuuden peli Linux. Deck kautta..


Mikä on pop! _Os?

Linux Oct 20, 2025

Jos olet kuullut Pop! _Os Saatat nähneet ihmiset usein niistä puhutaan paras Windows vaihtoehto tai ihanteellinen Linux pelaamiseen. Tässä on erilainen tästä Linux-jakel..


Kuinka käyttää Android-sovelluksia Linuxissa

Linux Oct 19, 2025

quietbits / Shutterstock.com Oletko koskaan halunnut ajaa Android-sovellusta Linuxissa, mutta ei halua sotkea virheenkorjaus siltoja, kehitysympäristöt tai s..


Luokat