Linux Shell ssh登录脚本
生活随笔
收集整理的這篇文章主要介紹了
Linux Shell ssh登录脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? Linux 登陸服務器敲命令太多,某時候確實不便,所以就用shell寫了一個
?我的blog地址:?http://www.cnblogs.com/caoguo
?
一.說明
- 支持秘密和密鑰兩種格式
- 用戶名和密碼都是寫文件的,明文保存
二.配置
- 密碼文件配置:
序號:IP:端口:用戶:密碼:說明 1:192.168.88.128:22:root:toor:虛擬機web服務器
- 密鑰文件放在keys文件夾下,密碼位置寫成密鑰文件名,文件名必須以.pem結尾
github地址:https://github.com/ca0gu0/so
腳本下載:git clone git@github.com:ca0gu0/so.git
?
補充:
?
發現沒有代碼還是不好,把代碼還是貼上
so.sh文件的內容
#!/bin/bashdirec=`dirname $0` function color(){blue="\033[0;36m"red="\033[0;31m"green="\033[0;32m"close="\033[m"case $1 inblue)echo -e "$blue $2 $close";;red)echo -e "$red $2 $close";;green)echo -e "$green $2 $close";;*)echo "Input color error!!";;esac }function copyright(){echo "#####################"color blue " SSH Login Platform "echo "#####################"echo }function underline(){echo "-----------------------------------------" }function main(){while [ True ];doecho "序號 | 主機 | 說明"underlineawk 'BEGIN {FS=":"} {printf("\033[0;31m% 3s \033[m | %15s | %s\n",$1,$2,$6)}' $direc/password.lstunderlineread -p '[*] 選擇主機: ' numberpw="$direc/password.lst"ipaddr=$(awk -v num=$number 'BEGIN {FS=":"} {if($1 == num) {print $2}}' $pw)port=$(awk -v num=$number 'BEGIN {FS=":"} {if($1 == num) {print $3}}' $pw)username=$(awk -v num=$number 'BEGIN {FS=":"} {if($1 == num) {print $4}}' $pw)passwd=$(awk -v num=$number 'BEGIN {FS=":"} {if($1 == num) {print $5}}' $pw)case $number in[0-9]|[0-9][0-9]|[0-9][0-9][0-9])echo $passwd | grep -q ".pem$"RETURN=$?if [[ $RETURN == 0 ]];thenssh -i $direc/keys/$passwd $username@$ipaddr -p $portecho "ssh -i $direc/$passwd $username@$ipaddr -p $port"elseexpect -f $direc/ssh_login.exp $ipaddr $username $passwd $portfi;;"q"|"quit")exit;;*)echo "Input error!!";;esac done }copyright main
?
ssh_login.exp 這個一個expect腳本,用戶寫交互的工具
#!/usr/bin/expect -f set TARGET [lindex $argv 0] set USER [lindex $argv 1] set PASSWD [lindex $argv 2] set PORT [lindex $argv 3] set timeout 10spawn ssh $USER@$TARGET -p $PORT expect {"*yes/no" {send "yes\r"; exp_continue}"*password:" {send "$PASSWD\r"} } interact
?
password.lst密碼文件格式
1:192.168.88.128:22:root:toor:虛擬機web服務器 2:192.168.88.130:22:ca0gu0:toor:虛擬機mysql數據庫服務器 103:192.168.88.4:22:root:sellercube:本地開發服務器
?
?
轉載于:https://www.cnblogs.com/caoguo/p/4865413.html
總結
以上是生活随笔為你收集整理的Linux Shell ssh登录脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vivo手机屏幕摔碎了换屏幕需要多少钱?
- 下一篇: usaco Pollutant Cont