GNU/Linux >> Belajar Linux >  >> Linux

Cara Menggunakan Kata Sandi Terenkripsi di Linux Bash Shell Script

Selalu disarankan untuk menggunakan kata sandi terenkripsi dalam skrip shell bash Linux. Biasanya, dalam skrip bash shell kita mungkin memerlukan kata sandi untuk pengguna jarak jauh saat menghubungkan ke sistem jarak jauh, pengguna ftp dan pengguna proxy dll. Pada artikel ini, kita akan membahas cara mengenkripsi kata sandi menggunakan perintah openssl dan kemudian akan melihat bagaimana kata sandi terenkripsi ini dapat digunakan dalam skrip bash shell.

Enkripsi Kata Sandi Menggunakan Openssl

Mari kita asumsikan kita ingin terhubung ke sistem jarak jauh melalui ssh menggunakan kata sandi di dalam skrip shell. Untuk mengenkripsi kata sandi, gunakan perintah openssl di bawah ini di sistem linux Anda.

$ echo "[email protected]#2" | openssl enc -aes-256-cbc -md sha512 -a -pbkdf2 -iter 100000 \ 
-salt -pass pass:[email protected]#

Catatan: String diikuti oleh perintah echo ‘[email protected]#2’ adalah string kata sandi yang ingin kita enkripsi dan ‘[email protected]#’ adalah kata sandi yang digunakan selama enkripsi. Jika versi openssl adalah 1.1.0 atau kurang, lewati dua opsi ini ‘-pbkdf2 -iter 100000’

Untuk menyimpan kata sandi terenkripsi ke file, gunakan perintah berikut,

$ echo "[email protected]#2" | openssl enc -aes-256-cbc -md sha512 -a -pbkdf2 -iter 100000 \
-salt -pass pass:[email protected]# > secret.txt

Atur izin berikut pada file secret.txt menggunakan perintah chmod,

$ chmod 600 secret.txt

Decrypt Encrypted Password Menggunakan Openssl

Untuk mendekripsi kata sandi, jalankan di bawah

$ cat secret.txt | openssl enc -aes-256-cbc -md sha512 -a -d -pbkdf2 -iter 100000 \
 -salt -pass pass:[email protected]#
[email protected]#2
$

Catatan: Jika Anda perhatikan baik-baik, kami telah menggunakan opsi '-d' untuk mendekripsi.

Gunakan Kata Sandi Terenkripsi di Bash Shell Script

Gunakan contoh skrip shell di bawah ini yang akan menggunakan kata sandi terenkripsi saat menghubungkan ke sistem jarak jauh melalui ssh.

$ vi sample.sh
#!/bin/bash
USERNAME=devops
PASSWD=`cat secret.txt | openssl enc -aes-256-cbc -md sha512 -a -d -pbkdf2 \ 
-iter 100000 -salt -pass pass:[email protected]#`

REMOTE=10.20.0.20

sshpass -p $PASSWD ssh -o StrictHostKeyChecking=no [email protected]$REMOTE \
 'dmesg -Tx | grep -i error' > /tmp/a.tmp

simpan dan tutup file.

Jadikan skrip dapat dieksekusi dengan menjalankan di bawah perintah,

$ chmod +x sample.sh

Sekarang jalankan skrip untuk memverifikasi apakah enkripsi berhasil digunakan untuk terhubung ke sistem jarak jauh.

[[email protected] ~]$ ./sample.sh
Or
[[email protected] ~]$ bash -x sample.sh
+ USERNAME=devops
++ openssl enc -aes-256-cbc -md sha512 -a -d -pbkdf2 -iter 100000 -salt \ 
-pass pass:[email protected]#
++ cat secret.txt
+ [email protected]#2
+ REMOTE=10.20.0.20
+ sshpass -p [email protected]#2 ssh -o StrictHostKeyChecking=no [email protected] \ 
'dmesg -Tx | grep -i error'

Sempurna, output di atas mengonfirmasi bahwa enkripsi didekripsi selama eksekusi.

Mari kita verifikasi isi file /tmp/a.tmp,

[[email protected] ~]$ cat /tmp/a.tmp
kern  :info  : [Thu Jun  3 13:36:51 2021] RAS: Correctable Errors collector\
 initialized.
kern  :err   : [Thu Jun  3 13:36:53 2021] [drm:vmw_host_log [vmwgfx]] *ERROR*\ 
 Failed to send log
kern  :err   : [Thu Jun  3 13:36:53 2021] [drm:vmw_host_log [vmwgfx]] *ERROR* \
 Failed to send log
[[email protected] ~]$

Output di atas mengonfirmasi bahwa skrip dapat menangkap output dari perintah dmesg. Itu saja dari artikel. Saya harap Anda mendapatkan ide bagaimana kami dapat menggunakan kata sandi terenkripsi di dalam skrip shell.


Linux
  1. Cara mendefinisikan dan menggunakan fungsi di Linux Shell Script

  2. Bagaimana Membandingkan Angka dan String di Linux Shell Script

  3. Cara Menggunakan if else Conditionals Statement di Bash Script

  1. Mengubah kata sandi sistem Linux dalam skrip bash

  2. Bagaimana Menambahkan Pengguna Unix/linux Dalam Skrip Bash?

  3. Cara menggunakan alias shell di Linux

  1. Cara Menjalankan Perintah / Script Shell Linux di Latar Belakang

  2. Cara Menggunakan Variabel di Shell Scripting

  3. Cara memasukkan file dalam skrip bash shell