bash腳本中將密碼傳遞給ssh/scp命令方法詳解
安裝SSHPASS
對(duì)于大多數(shù)最新的操作系統(tǒng),sshpass軟件包在默認(rèn)軟件包存儲(chǔ)庫(kù)中可用??梢允褂靡韵旅钤谙到y(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命令需要輸入密碼的問(wèn)題
使用密鑰文件。
這里假設(shè)主機(jī)A(192.168.100.3)用來(lái)獲到主機(jī)B(192.168.100.4)的文件。
在主機(jī)A上執(zhí)行如下命令來(lái)生成配對(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命令不需要密碼來(lái)獲取主機(jī)B的文件了ssh 192.168.100.4 回車就不需要密碼了。
注:其實(shí)id_rsa.pub內(nèi)容添加到對(duì)方機(jī)器的authorized_keys中就行了
相關(guān)文章
LuManager VPS主機(jī)控制面板安裝和Eduvps免費(fèi)VPS測(cè)評(píng)
這篇文章主要介紹了LuManager VPS主機(jī)控制面板安裝和Eduvps免費(fèi)VPS測(cè)評(píng),需要的朋友可以參考下2016-04-04在Linux環(huán)境下采用壓縮包方式安裝JDK 13的方法
JDK(Java Development Kit)是Sun公司(后被Oracle收購(gòu))推出的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的開發(fā)工具包,擁有這個(gè)工具包之后我們就可以使用Java語(yǔ)言進(jìn)行程序設(shè)計(jì)和開發(fā)。這篇文章主要介紹了在Linux環(huán)境下采用壓縮包方式安裝JDK 13,需要的朋友可以參考下2019-10-10centos8使用Apache httpd2.4.37安裝web服務(wù)器的步驟詳解
這篇文章主要介紹了centos8使用Apache httpd2.4.37安裝web服務(wù)器的步驟詳解,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08CentOS7下 yum方式安裝Nginx的實(shí)現(xiàn)步驟
這篇文章主要介紹了CentOS7下 yum方式安裝Nginx的實(shí)現(xiàn)步驟的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-10-10