shell腳本中解決SCP命令需要輸入密碼的問題

答案:使用密鑰文件。


這里假設(shè)主機(jī)A(192.168.1.3)用來獲到主機(jī)B(192.168.1.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中就行了

轉(zhuǎn)載:http://blog.csdn.net/chris_playnow/article/details/22579139


拷貝其他服務(wù)器附件歸集到主服務(wù)器bash shell

[test@abc01.cn ~]$ cat copy.bash

!/bin/bash

copy attachment

scp -r test1@app02.abc.cn:/home/test1/tomcat/webapps/app01/WEB-INF/attachment/* /home/test/tomcat/webapps/app01/WEB-INF/attachment/
echo "done! app02. copy finish"
scp -r test2@app03.abc.cn:/home/test2/tomcat/webapps/app01/WEB-INF/attachment/* /home/test/tomcat/webapps/app01/WEB-INF/attachment/
echo "done! app03. copy finish"


增加定時(shí)任務(wù)

crontab -e

類似編輯vi 在里面粘貼

  • */6 * * * username sh /home/user/test/copy.sh

---shift+zz保存,重啟crond服務(wù)

root]# service crond restart


引用自https://www.cnblogs.com/java2sap/p/11424587.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。