當前位置:首頁 » 編程軟體 » shell腳本自動密碼

shell腳本自動密碼

發布時間: 2025-01-10 10:46:29

1. 在Powershell腳本中安全的使用密碼信息

在使用基於Powershell自動化的腳本中,大多數場景下需要未腳本傳遞憑據以供驗證環節能夠正常工作,很多管理員習慣於在他們的腳本中使用明文密碼,但如果是測試腳本,倒是無關緊要,若是用於生產環境的腳本,這種行為不但很糟糕,還很可怕,不懷好意的同志們會很樂意並輕松的拿到它然後搞一些或輕或重的破壞。但是,如果正確使用powershell所提供的密碼加密功能,能很輕松的解決這個問題。

PowerShell中,提供了兩種生成憑據的方式分別是 Get-Credential 和 Read-Host
Get-Credential
Get-Credential 命令被用來創建PSCredential對象並且將之存儲到變數中,並保證不在屏幕上顯示如下

上面的命令將憑據信息保存到變數 $crd 中 ,這個變數可被很容易的用於訪問需指定憑據的 Cmdlets
Read-Host
使用 Read-Host 同樣可以起到保護明文密碼顯示的功能 如下, -AsSecureString 可以將明文密碼存儲成加密密碼串對象,SecureString對象可被用於可接受該類型參數的命令,可以通過定義變數和管道輸出將該對象傳遞給命令。

ConvertTo-SecureString
ConvertTo-SecureString 用於加密密碼和其它字元串,它可以接受字元串然後輸出為SecureString對象,SecureString對象可被用於可接受該類型參數的命令,可以通過定義變數和管道輸出將該對象傳遞給命令。

語法如下:

當不適用參 -Key 或者 -SecureKey 時,PowerShell將會調用 Windows Data Protection API (DPAPI) 加密解密字元串。但這將導致生成的 SecureString 對象在其它計算機上使用。
如下將把明文"Password"轉化為 SecureString

這種方式雖然能夠將明文字元轉換為 SecureString 對象,但是卻無法將其存儲為一個文件以後用。必須把它轉化為標准加密字元串才可以,要達到這個目的,要用到 ConvertFrom-SecureString 命令。
ConvertFrom-SecureString
使用 ConvertFrom-SecureString 命令可以將 SecureString 對象存儲成為標准加密字元串,可以將 SecureString 對象或者命令產生的 SecureString 對象通過管道傳給它來實現

語法:

上面的例子產生的 SecureString 對象可以用於此處轉換成標准加密字元串

結合上面幾個命令,我們可以有以下幾種方法將 SecureString 轉換成的標准加密字元串通過 Out-File 命令存儲成txt文件

導出純文本模式生成的 SecureString 對象

導出 Get-Credential 產生的 SecureString 對象

導出通過 Read-Host 產生的 SecureString 對象

將上述存儲的標准加密字元串文件轉換回 SecureString 並用來創建 PSCredential

上面提到,在使用 ConvertTo-SecureString 和 ConvertFrom-SecureString 加密憑據時,如不使用 -Key 或 -SecureKey ,則PowerShell會調用DPAPI進行加解密,因為無法再創建其之外的機器上使用,如下
同一台主機

不同主機上使用上面同一個txt文件

使用 Key 或者 SecureKey 實現跨機器使用加密文件
使用 -Key 參數創建保存標准加密字元串的文件,下面將會用到Windows Class 「System.Security.Cryptography.RNGCryptoServiceProvider"來創建隨機數據來填充作為 -Key 的參數值的數組

使用隨機數據來創建AES key並導出為文件

創建 SecureString 對象

創建憑據

在另外的機器上

上面的內容已經完全可以幫助我們在powershell腳本中來加密密碼了,如果有其它問題歡迎留言。

2. 安卓設備中在執行bat腳本時abd shell自動輸入密碼並執行命令怎麼寫

可以使用 echo 命令和管道符 | 將密碼輸入到 adb shell 的命令中。假設你的密碼為 mypassword,需要執行的命令為 mycommand,那麼彎彎虧可以這樣寫:
echo mypassword | adb shell mycomman
在上面的命令中,echo mypassword 將密碼輸出到標准輸出流,然後通過管道符 | 將標准輸出流連接到 adb shell mycommand 命令的標准輸入流中,這樣就實現了自動輸入密碼並執行命令埋神的效鬧談果。

3. shell腳本自動給用戶配置密碼

很高興能回答你的問題,根據你的題意,給出如下回答:


配置單個用戶的密碼:

echo"PASSWORD_IN_PUT"|passwd--stdinUSER


多個用戶配置一個密碼:

#!/bin/sh
FILE=/home/user.list#用戶名保存文件
whilereadline
do
echo"PASSWORD_IN_PUT"|passwd--stdin$line
done<$FILE

將如上內容保存到一個文件中,sh file 即可執行。


其中,FILE文件的格式為:

root
linux
test
ftp
#等等,每個用戶一行


多個用戶配置多個密碼:(必須有規律,沒有規律無法用腳本自動執行)

#!/bin/sh
FILE=/home/user.lis
foritemin`cat$FILE`
do
case$itemin
root)
#用戶為root
echo"PASSWORD_root"|passwd--stdin$item
;;
linux)
#用戶為linux
echo"PASSWORD_linux"|passwd--stdin$item
;;
*)
#用戶為其他
echo"PASSWORD_other"|passwd--stdin$item
;;
esac
done

以上兩個循環中,for、while 都可以使用和互換,只是寫法不同,列出兩種,供你參考。


case 語句用於進行多分支判斷,你可以在 *) 這個默認語句前面再加入其他判斷,格式參照上例即可。


歸根結底,自動配置密碼的核心主要是你會不會 passwd 命令中的 --stdin 選項。

4. 想寫一個shell腳本 要求可以自動輸入密碼

你可以這樣試試:
function(){
echo $FORM_pw_|./ibe combine [email protected] key <<!

pw2

#這裡面代表已經登錄成功,可以直接輸入命令。
exit #退出
!
echo
}

上面的是一個方法。如果不行,你可以使用expect工具。

5. shell腳本安裝phpmyadmin自動輸入用戶密碼

靜默安裝,可以使用下面的方案:
1、用debconf-show + 包名查出預配置項
root@compute204:/var/log/keystone# debconf-show slapd
* slapd/password1: (password omitted)
slapd/internal/adminpw: (password omitted)
slapd/internal/generated_adminpw: (password omitted)
* slapd/password2: (password omitted)
...
2、在腳本里,用debconf-set-selections設置然後安裝,格式為 {包名} {配置項key} {配置項類型} {配置項value}
cat <<LDAP_PRESEED | debconf-set-selections
slapd slapd/password1 password ${LDAP_PASS}
slapd slapd/password2 password ${LDAP_PASS}
LDAP_PRESEED
3、安裝
apt-get -y --force-yes install slapd
apt-get -y --force-yes install ldap-utils

6. linux里的su命令需要輸入密碼,如何在shell腳本里實現自動輸入su命令和密碼

看過man su了,su並不帶輸入密碼的參數,所以需要使用su命令切換用戶的話,只能手動輸入密碼。

7. shell腳本中如何實現scp自動輸入密碼

配置ssh認證銷源就可以不輸入密碼了,可以使用這個鏈接的zcmd工具,虧歲態雀攜https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/ztools

8. VBS怎麼自動輸入帳號,密碼,並登錄這個軟體(客戶端),

1)先用AppActivate 激活客戶端為當前運行的應用
2)用wscript.shell對象的sendkeys()方法,模擬敲鍵盤的操作
.Sendkeys "{TAB}" :敲Tab鍵,將滑鼠焦點定位到密碼框
繼續用.Sendkeys 敲密碼
最後 .Sendkeys "~" 敲回車

9. 關於telnet自動登錄shell腳本密碼輸入的問題

試試expect
spawn telnet $ip
expect 「password:」
send 「${password}\r」
interact

熱點內容
上傳音樂表 發布:2025-01-10 17:04:52 瀏覽:165
如何在安卓tv上裝當貝市場 發布:2025-01-10 16:59:54 瀏覽:978
電腦鐵電存儲 發布:2025-01-10 16:57:19 瀏覽:463
c語言源程序的基本單位 發布:2025-01-10 16:47:37 瀏覽:285
王者安卓賬號如何換到蘋果 發布:2025-01-10 16:34:47 瀏覽:729
c語言lua 發布:2025-01-10 16:34:46 瀏覽:206
我的世界檢測伺服器人員 發布:2025-01-10 16:32:30 瀏覽:833
資料庫表模板 發布:2025-01-10 16:22:21 瀏覽:356
郵政新農合社保卡初始密碼多少 發布:2025-01-10 16:01:32 瀏覽:143
安卓系統哪個最商務 發布:2025-01-10 15:49:28 瀏覽:910