bash腳本中將密碼傳遞給ssh/scp命令方法詳解
安裝SSHPASS
對于大多數(shù)最新的操作系統(tǒng),sshpass軟件包在默認軟件包存儲庫中可用。可以使用以下命令在系統(tǒng)上安裝它。
在Debian上:
$ sudo apt install sshpass
在CentOS上:
$ yum --enablerepo = epel -y install sshpass
使用SSHPASS
sshspass使用sshspass環(huán)境變量存儲用戶密碼。需要首先使用sshspass變量和密碼,然后使用此命令。下面是一個使用sshspass的簡單shell腳本。
export SSHPASS=ry3AvbWO0oupYX9HCMzp0Axx
sshpass -e scp testfile.csv user@example.com:/uploads/
還可以使用sshpass運行ssh命令,如下所示
sshpass -e ssh user@example.com
shell腳本中解決SCP命令需要輸入密碼的問題
使用密鑰文件。
這里假設(shè)主機A(192.168.100.3)用來獲到主機B(192.168.100.4)的文件。
在主機A上執(zhí)行如下命令來生成配對密鑰:
ssh-keygen -t rsa
遇到提示回車默認即可,公鑰被存到用戶目錄下.ssh目錄,比如root存放在:
/root/.ssh/id_rsa.pub
將 .ssh 目錄中的 id_rsa.pub 文件復(fù)制到 主機B 的 ~/.ssh/ 目錄中,并改名為 authorized_keys,
到主機A中執(zhí)行命令和主機B建立信任,例(假設(shè)主機B的IP為:192.168.100.4):
scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys
下面就可以用scp、ssh命令不需要密碼來獲取主機B的文件了ssh 192.168.100.4 回車就不需要密碼了。
注:其實id_rsa.pub內(nèi)容添加到對方機器的authorized_keys中就行了
相關(guān)文章
修改.htaccess實現(xiàn)301域名重定向示例分享
這篇文章主要介紹了修改.htaccess實現(xiàn)301域名重定向示例,需要的朋友可以參考下2014-03-03
Linux編輯啟動、停止與重啟springboot jar包腳本實例
這篇文章主要給大家介紹了關(guān)于Linux編輯啟動、停止與重啟springboot jar包腳本的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
Linux上為你的任務(wù)創(chuàng)建一個自定義的系統(tǒng)托盤指示器
系統(tǒng)托盤圖標(biāo)如今仍是一個很神奇的功能。這篇文章主要介紹了Linux上為你的任務(wù)創(chuàng)建一個自定義的系統(tǒng)托盤指示器,需要的朋友可以參考下2019-07-07

