在Linux中用scp進(jìn)行遠(yuǎn)程復(fù)制文件時需要輸入密碼,這對于復(fù)制大文件使用nohup后臺執(zhí)行的時候是非常糟糕的,但我們可以生成一對密鑰,把公鑰放置在遠(yuǎn)程主機上,這樣再使用scp時就無須輸入密碼,具體做法如下:
需求場景:現(xiàn)有主機A、主機B,要從主機A復(fù)制文件到主機B。
1.在主機A上使用命令ssh-keygen -t rsa生成一對密鑰,命令執(zhí)行后敲回車直至結(jié)束,執(zhí)行完后在/root/.ssh目錄下會出現(xiàn)兩個文件id_rsa和id_rsa.pub


2.把主機A的id_rsa.pub復(fù)制到主機B的/root/.ssh/目錄下,并改名為authorized_keys,至此從主機A復(fù)制文件到主機B就無須輸入密碼。
或
將id_dsa.pub追加到授權(quán)的key中,鍵入一下命令:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
jenkins用戶 f發(fā)布到遠(yuǎn)程服務(wù)器,需要確認(rèn)jenkins 運行使用的用戶,注意要將jenkins用戶的公鑰給到遠(yuǎn)程服務(wù)器對應(yīng)用戶(可新建.ssh文件夾,將jenkins 公鑰放進(jìn)來)
https://blog.csdn.net/leonnew/article/details/118796145
jenkins使用案例
DATE=`date +%Y%m%d%H%M`
ssh tomcat@172.22.1.77 " cd /home/tomcat; tar czvf namls$DATE.tgz namls; rm -rf namls; mkdir namls "?
cd target/namls/
scp -r * tomcat@172.22.1.77:/home/tomcat/namls/
另外 ssh 如果要直接運行命令,
例子:
source .bash_profile? (本用戶環(huán)境變量所在文件,全局一般在etc/profile,一般ssh默認(rèn)執(zhí)行.bashrc,并需要看本用戶是否能調(diào)用配置的JDK等軟件,擁有權(quán)限)
cd /home/tomcat/tomcat
bash -xe bin/shutdown.sh
bash -xe bin/startup.sh