1.儲存遠端主機ip位址的檔案/cloud_nsd/shell/ip.txt
不用的ip位址需用「#」注釋
#201.1.2.100
#201.1.2.200
#192.168.4.6
192.168.4.1
192.168.4.2
2.pssh.sh指令碼
#!/bin/bash
#author:an
#version:1.1.0
#date:2019-04-16
#modify:2019-05-08 2019-05-15 2019-05-20
#describe:ssh免密登陸,並發布nfs共享給遠端主機
######################定義變數######################
nfs_dir=/cloud_nsd #nfs共享目錄
script_path=$nfs_dir/shell #指令碼目錄
soft_path=$nfs_dir/soft #軟體目錄
log_path=$nfs_dir/logs/pssh.log #pssh日誌路徑
ip_file=$nfs_dir/ip_temp.txt #存放執行ip
#載入函式庫
if [ -f "$script_path/myfunction.lib" ];then
source $script_path/myfunction.lib
else
echo -e "\033[31m函式庫不存在\033[0m"
exit $noexist
figrep -v '^#' $script_path/ip.txt >$ip_file #去掉注釋,提取/cloud_nsd/shell/ip.txt的有效ip
rpm -q pssh &>/dev/null || rpm -ivh $soft_path/lnmp_soft/pssh-2.3.1-5.el7.noarch.rpm &>/dev/nulll
#將本機公鑰傳送給遠端主機
sendkey()
expect "password:"
expect "#"
eof done
}#批量傳送安裝包,並解壓
pssh_tar()
#搭建nfs伺服器,發布/cloud_nsd共享目錄
nfs()
#批量執行指令碼
excute_script()
#幫助資訊
help()
#############################主程式#############################
clear
[ $# -eq 0 ] && help
while getopts :hps:in args
do case $args in
h) help;;
p) sendkey;;
n) nfs;;
s) excute_script $optarg $3 $4 $5;;
i)pssh_tar;;
\?)cecho 31 "invalid option:bash `basename $0` [-h]"
esac
done
linux ssh 免密登入
a機器免密碼登入b機器 生成金鑰 機器a ssh keygen t rsa 敲回車就好,不要設定密碼 傳送到遠端伺服器 機器a,機器b的ip 127.0.0.1 scp ssh id rsa.pub root 127.0.0.1 root ssh 追加到檔案中 在機器b上操作 cat ssh id ...
linux ssh免密登入
每次在使用 ssh 登入的時候,需要輸入密碼,而密碼往往比較長,即使是複製貼上也比較麻煩,典型的做法可採用 rsa 秘鑰的形式來實現密碼登入,亦可採用 shell expect 的方式。本文採用方案一,如對 expect 有興趣可自行了解。ssh keygen t rsa b 4096 c 備註 e...
Linux ssh免密登入
假設 伺服器a 要免密登入 伺服器b ssh keygen t rsa p 1.直接回車生成金鑰對 id rsa和id rsa.pub 2.把id rsa.pub追加到授權的key裡面去 ssh authorized keys cat ssh id rsa.pub ssh authorized ke...