bash腳本中將密碼傳遞給ssh/scp命令方法詳解
安裝SSHPASS
對(duì)于大多數(shù)最新的操作系統(tǒng),sshpass軟件包在默認(rèn)軟件包存儲(chǔ)庫中可用。可以使用以下命令在系統(tǒng)上安裝它。
在Debian上:
$ sudo apt install sshpass
在CentOS上:
$ yum --enablerepo = epel -y install sshpass
使用SSHPASS
sshspass使用sshspass環(huán)境變量存儲(chǔ)用戶密碼。需要首先使用sshspass變量和密碼,然后使用此命令。下面是一個(gè)使用sshspass的簡(jiǎn)單shell腳本。
export SSHPASS=ry3AvbWO0oupYX9HCMzp0Axx
sshpass -e scp testfile.csv user@example.com:/uploads/
還可以使用sshpass運(yùn)行ssh命令,如下所示
sshpass -e ssh user@example.com
shell腳本中解決SCP命令需要輸入密碼的問題
使用密鑰文件。
這里假設(shè)主機(jī)A(192.168.100.3)用來獲到主機(jī)B(192.168.100.4)的文件。
在主機(jī)A上執(zhí)行如下命令來生成配對(duì)密鑰:
ssh-keygen -t rsa
遇到提示回車默認(rèn)即可,公鑰被存到用戶目錄下.ssh目錄,比如root存放在:
/root/.ssh/id_rsa.pub
將 .ssh 目錄中的 id_rsa.pub 文件復(fù)制到 主機(jī)B 的 ~/.ssh/ 目錄中,并改名為 authorized_keys,
到主機(jī)A中執(zhí)行命令和主機(jī)B建立信任,例(假設(shè)主機(jī)B的IP為:192.168.100.4):
scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys
下面就可以用scp、ssh命令不需要密碼來獲取主機(jī)B的文件了ssh 192.168.100.4 回車就不需要密碼了。
注:其實(shí)id_rsa.pub內(nèi)容添加到對(duì)方機(jī)器的authorized_keys中就行了
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。