Ubuntu上使用sshpass遠程腳本免密安全交互

在使用ssh對服務器進行遠程操做時,都須要停下來輸入密碼,這在批量執行腳本時很不方便。html

能夠使用sshpass來進行執行,將password經過命令行、環境變量或者文件傳遞進去,從而能夠徹底在腳本里面跑執行命令,實現自動化的操做。這裏主要分享Ubuntu上面的使用狀況。linux

安裝 sshpass,基於Debian / Ubuntu Linux

輸入命令:git

$ sudo apt-get install sshpass
  • 在MacOS上安裝使用:brew install http://git.io/sshpass.rb

在Linux使用sshpass

安裝完畢後,直接輸入sshpass將顯示幫助信息。shell

Login 到 ssh server(server.example.com),password 爲 t@uyM59bQ:bash

$ sshpass -p 't@uyM59bQ' ssh username@server.example.com

對於shell script,你可能須要 disable host key 檢查:服務器

$ sshpass -p 't@uyM59bQ' ssh -o StrictHostKeyChecking=no username@server.example.com

基於bash shell script使用 SSHPASS 的例子

能夠在腳本中使用-p參數、SSHPASS環境變量、文件等方式讀取password的值並自動傳遞給ssh。less

快速開始使用

sshpass -p mypassword ssh user@server ifconfig

上面的命令將使用mypassword和user帳戶登陸到server並執行ifconfig命令後,自動退出。ssh

更新Ubuntu系統軟件包

sshpass -p MyPassWord ssh root@remoteServerIP "apt update && apt upgrade -y && apt autoremove -y"

使用環境變量傳遞password

語法:ide

SSHPASS='t@uyM59bQ' sshpass -e ssh vivek@server42.cyberciti.biz
SSHPASS='t@uyM59bQ' sshpass -e ssh vivek@server42.cyberciti.biz date
SSHPASS='t@uyM59bQ' sshpass -e ssh vivek@server42.cyberciti.biz w
SSHPASS='t@uyM59bQ' sshpass -e ssh -o StrictHostKeyChecking=no vivek@server42.cyberciti.biz

password 經過名爲 SSHPASS 的環境變量傳遞進去。加密

從文件讀取 password

另一個選項是從文件讀取password,使用 -f 選項。語法爲:

sshpass -f fileNameHere ssh user@server

建立文件,以下:

$ echo 'myPassword' > myfile
$ chmod 0400 myfile
$ sshpass -f myfile ssh vivek@server42.cyberciti.biz

使用rsync備份backup /var/www/html

經過SSH運行rsync,啓用password authentication, 傳遞 password 在命令行中:
$ rsync --rsh="sshpass -p myPassword ssh -l username" server.example.com:/var/www/html/ /backup/
或者:
$ SSHPASS='yourPasswordHere' rsync --rsh="sshpass -e ssh -l username" server.example.com:/var/www/html/ /backup/

使用 sshpass with gpg encrypted file

首先,建立文件以下:
$ echo 'mySshPasswordHere' > .sshpassword
如今,使用gpg command加密文件:
$ gpg -c .sshpassword
$ rm .sshpassword

最後,以下使用:
$ gpg -d -q .sshpassword.gpg > fifo; sshpass -f fifo ssh vivek@server1.cyberciti.biz

更多信息:

相關文章
相關標籤/搜索