配置檔案最終轉化成了陣列,相關資訊與**強耦合。需要的可以根據自己喜好修改配置檔案格式和**。
/users/wangjia/bin/ssh/conf/server.conf
id desc username outsite-ip insite-ip connect-type key-path/password
1) aoserver1 ec2-user
52.74
.211
.11172.31
.212) aoserver2 ec2-user
52.74
.211
.12172.31
.21.12 password mypassword
connect-type (key/password/-) 金鑰/密碼/已新增公鑰common_ssh.sh
#!/bin/bash
# author : wangjia
# time : 2016/12/26 18:31
# contact : [email protected]
# desc : final ssh
# server_info_array : id desc username outsite-ip insite-ip connect-type(key/password/-) key-path/password
#conf_file_path="/users/wangjia/bin/test/server.conf"
#賬號密碼登入 expect 指令碼呼叫
# @param1 使用者登入名@ip eg.. [email protected]
# @param2 password
function pw_login
()#進行連線
# @param1 配置檔案的行
function connect_by_line
()) if [ "$" == "key" ]
then
ssh -i "$"
"$@$";
elif [ "$" = "password" ]
then
pw_login "$@$"
"$";
else
ssh "$@$";
fi}#讀取配置檔案
# @param1 伺服器資訊配置表
function init_server_info_arr
()let linecount++;
done
< $
}#伺服器資訊列印
function print_server_list
()";
doecho
" $"
done
}#使用者互動 輸入檢查
function input_check
() =~ ^[1-9]+$ ]] && [ $
-lt$ ]
then
input="pass"
else
echo
"wrong enter"
exitfi}
function interact_user
()"}
expect 自動互動**
/users/wangjia/bin/ssh/expect_login.sh
#!/usr/bin/expect -f
# author : wangjia
# time : 2016/12/21 11:10
# contact : [email protected]
# desc : expect 登入
set timeout 3
#接受傳入引數
set user_ip [lindex $ 0]
set password [lindex $ 1]
#套殼 根據 expect 傳送 對應資訊
spawn ssh $
expect \r"}
"*yes/no*"
}interact
使用
. /users/wangjia/bin/ssh/common_ssh.sh #引用
init_server_info_arr "/users/wangjia/bin/ssh/conf/server.conf"
print_server_list
interact_user
connect_by_line "$]}"
shell指令碼實現ssh自動登入
功能 shell指令碼實現ssh自動登入,裡面有些注釋掉的是編寫時遇到的一些問題和除錯資訊 說明 login fwq 登入賬戶名 login fwq ip 登入ip login fwq pw 登入密碼 如下 fwqs ssh.sh 指令碼內容,login fwq xcz login fwq ip 1...
自動登入指令碼
為了解決不同網路空間的問題,本來是想通過改變環境變數的方式,不過最終還是 選擇了在shell指令碼下,選擇了網路空間後執行指令碼。同時這個庫,還可以實現相應的檔案傳輸功能,這也是比較划算的乙個功能。usr bin python coding utf 8 auther vchao 16.12.16 i...
shell指令碼登入sftp
sftp不能像ftp一樣直接使用賬號 密碼登入 ftp ip位址 user 賬戶 密碼 需要互動式輸入登入密碼。在shell中可以使用expect 傳入密碼。sftp rad.put bsf user bsf ip expect yes no 也可以使用 ssh keygen t rsa 生成公私鑰...