Shell 自動登入指令碼

2021-07-25 15:36:02 字數 2395 閱讀 7243

配置檔案最終轉化成了陣列,相關資訊與**強耦合。需要的可以根據自己喜好修改配置檔案格式和**。

/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 生成公私鑰...