日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux如何自动化部署脚本实现免密登录并访问资源

發(fā)布時間:2024/8/23 linux 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux如何自动化部署脚本实现免密登录并访问资源 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

任務(wù)把weijie主機(jī)jdk文件安裝到weijie1中。
首先再各臺主機(jī)中安裝必要的命令:
expect、wget、httpd、ssh
執(zhí)行命令 如:expect提示命令不存在,則分別安裝命令

yum install expect yum install wget yum install httpd yum install ssh

開啟httpd,方便通過http請求來訪問虛擬機(jī)linux系統(tǒng)中的文件

service httpd start

第一步:
分別在兩臺主機(jī)關(guān)閉防火墻:
service iptables stop
把要部署的文件拷貝到www的目錄下
cp 拷貝的文件路徑 cd /var/www/html/目錄下

[root@weijie ~]# cp jdk-8u161-linux-x64.tar.gz /var/www/html/soft/

再確認(rèn)y即可。如果拷貝成功后,可以通過本機(jī)訪問虛擬機(jī)www中的資源
會出現(xiàn)

第二步:
再配置自動化部署腳本
習(xí)慣在根目錄下創(chuàng)建script文件夾,里面分別創(chuàng)建boot.sh(實(shí)現(xiàn)免密登錄)和install.sh()兩個腳本文件

mkdir script touch boot.sh touch install.sh

第三步:
寫入腳本代碼操作
打開boot.sh

vi boot.sh/boot.sh

寫入代碼:
注解:
spawn是進(jìn)入expect環(huán)境后才可以執(zhí)行的expect內(nèi)部命令。
expect是一種腳本語言,它能夠代替我們實(shí)現(xiàn)與終端的交互,我們不必再守候在電腦旁邊輸入密碼,或是根據(jù)系統(tǒng)的輸出再運(yùn)行相應(yīng)的命令。
ssh-copy-id命令可以把本地主機(jī)的公鑰復(fù)制到遠(yuǎn)程主機(jī)的authorized_keys文件上,ssh-copy-id命令也會給遠(yuǎn)程主機(jī)的用戶主目錄(home)和~/.ssh, 和~/.ssh/authorized_keys設(shè)置合適的權(quán)限。
send()是一個計算機(jī)函數(shù),功能是向一個已經(jīng)連接的socket發(fā)送數(shù)據(jù)

#!/bin/bash SERVERS="192.168.1.113" #weijie1中的ip地址 PASSWORD=123456 #weijie1登錄密碼 BASE_SERVER=192.168.1.112 #weijieip地址auto_ssh_copy_id(){expect -c "set timeout -1;spawn ssh-copy-id $1; expect {*(yes/no)* {send -- yes\r;exp_continue;} #* *通配含有"*"內(nèi)的字符串*assword:* {send -- $2\r;exp_continue;} #$2表示下面代碼中的PASSWORD,引用密碼eof {exit 0;}}"; }ssh_copy_id_to_all(){for SERVER in $SERVERS #遍歷要發(fā)送到各個主機(jī)的ipdoauto_ssh_copy_id $SERVER $PASSWORDdone } ssh_copy_id_to_allfor SERVER in $SERVERS doscp install.sh root@$SERVER:/rootssh root@$SERVER /root/install.shdone

配置install.sh腳本文件
打開文件

[root@weijie ~]# vi script/install.sh

寫入下面代碼

#!/bin/bash BASE_SERVER=weijie wget $BASE_SERVER/soft/jdk-8u161-linux-x64.tar.gz #待發(fā)送的文件 tar -zxcf jdk-8u161-linux-x64.tar.gz -C /usr/local #解壓到對應(yīng)的local文件夾目錄下 cat >> /etc/profile << EOF #將EOF中的內(nèi)容追加到profile內(nèi)容中 export JAVA_HOME=/usr/local/jdk1.8.0_161 #配置環(huán)境變量 export PATH=\$PATH:\$JAVA_HOME/bin ~

第四步:
執(zhí)行腳本文件

sh boot.sh

如果出現(xiàn)如下,說明部署成功

然后在wiejie1 root目錄中可以看見jdk文件。

總結(jié)

以上是生活随笔為你收集整理的linux如何自动化部署脚本实现免密登录并访问资源的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。