自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在 Linux Shell 腳本中使用加密密碼

系統(tǒng) Linux
使用腳本的一個(gè)好處是,它們可以在不需要人工干預(yù)的情況下獨(dú)立運(yùn)行,但有時(shí)自動化需要用戶密碼的任務(wù)可能很有挑戰(zhàn)性。讓我們看看如何在不影響安全性的情況下安全地自動化需要密碼的腳本。

Shell 腳本可以為您節(jié)省時(shí)間和精力,但是如果您不保護(hù)您的密碼,它們就會成為您的負(fù)擔(dān)。以下是如何保持安全的方法。

Bash 腳本是系統(tǒng)管理員工作的重要組成部分。它們允許您自動化普通和關(guān)鍵的任務(wù)。

使用腳本的一個(gè)好處是,它們可以在不需要人工干預(yù)的情況下獨(dú)立運(yùn)行,但有時(shí)自動化需要用戶密碼的任務(wù)可能很有挑戰(zhàn)性。讓我們看看如何在不影響安全性的情況下安全地自動化需要密碼的腳本。

創(chuàng)建一個(gè)簡單的腳本

假設(shè)您想要創(chuàng)建一個(gè)簡單的腳本,將 Linux 主文件夾備份到遠(yuǎn)程位置,以便在數(shù)據(jù)丟失的情況下可以輕松地恢復(fù)數(shù)據(jù)。

首先在您的主文件夾中創(chuàng)建一個(gè)Bash腳本文件,使用touch命令或其他方法,并將其命名為 linuxmi.sh。請隨意使用您喜歡的任何名稱和目錄。

該腳本使用 rsync 命令(一種功能強(qiáng)大的文件復(fù)制工具)將本地主目錄中的所有文件備份到遠(yuǎn)程服務(wù)器。

復(fù)制以下腳本的內(nèi)容并將其粘貼到您的 Bash 文件中。記住用本地 home 用戶的正確名稱替換用戶 linuxmi。還要為遠(yuǎn)程服務(wù)器提供正確的用戶名和IP地址。

#!/bin/bash
#將數(shù)據(jù)復(fù)制到遠(yuǎn)程服務(wù)器
rsync -avl --mkpath /home/linuxmi user_name@remote_server/home/Backup

如果您沒有遠(yuǎn)程服務(wù)器來進(jìn)行測試,您可以簡單地安裝 VirtualBox 并在本地機(jī)器上設(shè)置一個(gè) VM。使用 VM 客戶機(jī)作為遠(yuǎn)程服務(wù)器。

保存文件。要執(zhí)行該腳本,您需要使用sudo chmod 755命令授予它執(zhí)行權(quán)限。所有用戶都可以執(zhí)行該腳本,但只有sudo用戶可以修改該文件。

最后,從終端使用以下命令執(zhí)行Bash腳本:

./linuxmi.sh

每當(dāng)運(yùn)行此腳本時(shí),系統(tǒng)都會提示您輸入遠(yuǎn)程服務(wù)器密碼。如果您希望在沒有人為干預(yù)的情況下運(yùn)行腳本,例如在使用Cron時(shí),這不是我們想要的。

自動化密碼登錄

在您的本地 PC 或運(yùn)行腳本的 PC 上安裝 sshpass,這是一個(gè)非交互式密碼提供程序。

在基于 Debian 發(fā)行版

如果你使用的是基于 Debian 的發(fā)行版,比如 Ubuntu, Pop!_OS 或 Lubuntu:

sudo apt update && sudo apt install sshpass

在 RHEL 和 Fedora 上

dnf install sshpass

在安裝 sshpass 之后修改腳本,使其看起來如下所示:

#!/bin/bash
#將數(shù)據(jù)復(fù)制到遠(yuǎn)程服務(wù)器
sshpass -p "yourpassword" rsync -avl --mkpath /home/linuxmi user_name@remote_server/home/Backup

這里以純文本的形式提供密碼。顯然,這不是理想的方式,因?yàn)樗话踩?,也不是很好的?shí)踐。如果文件落入壞人之手,你的麻煩就大了。

為了提高安全性,我們將使用 GnuPG,這是一種安全的開源加密工具。

對您的密碼進(jìn)行加密

在大多數(shù)Linux系統(tǒng)上,GnuPG是默認(rèn)安裝的,但是如果您的系統(tǒng)上沒有安裝GnuPG,下面介紹如何安裝GnuPG。

使用命令  touch .secrets 創(chuàng)建一個(gè)名為 secrets 的隱藏文件。作為額外的安全措施,我們在默認(rèn)情況下隱藏了文件,下面介紹如何在 Linux 上查看隱藏的文件。

在 secrets 文件中,輸入遠(yuǎn)程 PC 的密碼并保存。

接下來,使用 gpg 命令加密該文件。

sudo gpg .secrets

系統(tǒng)將提示您輸入一個(gè)安全且強(qiáng)的密碼短語以打開加密文件。

GnuPG 將創(chuàng)建一個(gè)新文件,擴(kuò)展名 .gpg 附加在舊文件名后面。您的新文件名現(xiàn)在應(yīng)該是 secrets.gpg,假設(shè)您使用 secrets 文件名。

如果使用cat命令查看 secrets.gpg 的內(nèi)容,您將看到一些如下的文本,以表明您的密碼已加密。

要以純文本的形式查看文件的內(nèi)容,您需要使用以下命令對其進(jìn)行解密(系統(tǒng)會提示您輸入在加密過程中設(shè)置的密碼):

gpg -dq secrect.gpg

在腳本中使用加密密碼

如需在腳本中使用加密后的密碼,請按如下步驟更新腳本:

#!/bin/bash
#將數(shù)據(jù)復(fù)制到遠(yuǎn)程服務(wù)器
gpg -dq secrets.gpg | sshpass rsync -avl --mkpath /home/linuxmi user_name@remote_server/home/Backup

再次運(yùn)行備份腳本,這次不會提示您輸入密碼。

使用Bash腳本自動化任務(wù)

GnuGP 經(jīng)常用于保護(hù) PC 上的敏感文件和數(shù)據(jù),也是保護(hù) Linux 上自動 Bash 腳本中的密碼的好工具。

使用Bash腳本可以做很多事情。Bash是一個(gè)強(qiáng)大的工具,可以幫助您自動化Linux上的許多東西,學(xué)習(xí)編寫B(tài)ash腳本是一項(xiàng)值得的投資。

責(zé)任編輯:趙寧寧 來源: Linux迷
相關(guān)推薦

2021-03-14 09:28:24

Linux Shell腳本

2022-12-22 20:47:01

腳本循環(huán)結(jié)構(gòu)

2015-08-11 09:30:51

2020-05-19 13:55:38

Python加密密碼

2022-03-30 09:32:32

BashtestLinux

2011-08-23 09:56:52

UnicodeLua

2011-07-13 09:42:45

密碼crypt

2022-10-25 09:07:28

Linuxxargs命令

2019-09-16 19:00:48

Linux變量

2022-11-23 08:14:42

bash 腳本test 命令

2018-01-09 09:00:01

Linux命令文件壓縮

2018-06-26 09:15:24

Linux命令history

2022-11-18 10:16:26

Linuxwc 命令

2018-05-16 10:32:06

Linux命令find

2011-08-25 13:22:40

CEGUILua腳本

2011-08-25 09:55:27

2021-10-15 13:00:55

LinuxSeahorse加密密鑰

2016-12-16 09:23:29

LinuxShell腳本

2012-05-08 11:11:43

Linuxcrontab命令

2018-02-01 17:32:30

LinuxUNIXBash Shell
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號