使用脚本自动输入密码登录 ssh

2020/08/31 13:24
阅读数 4.6K

使用脚本自动输入密码登录 ssh

  • 支持多服务器 ,用 shell 脚本做选择判断。
  • 支持自己输出密码并登录。
  • 支持 Linux、MacOS。

vim ~/sshlogin.exp

expect 脚本实现自动化远程登录。

#!/usr/bin/expect -f

set hostname [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set timeout 30
set force_conservative 1
if {$force_conservative} {
  set send_slow {128 .1}
}

spawn ssh $username@$hostname;

expect {
    "yes/no" {
    send -s "yes\r"; exp_continue 
    }
    "password" {
        send -s "$password\r";
    }
}
interact

vim ~/sshlogin.sh

#!/bin/bash

clear
RED='\033[0;31m'
GRN='\033[0;32m'
BLU='\033[0;34m'
NC='\033[0m'

pwdpath=$(cd "$(dirname "$0")";pwd)
ssh="expect $pwdpath/sshlogin.exp"

# menu.sh

echo "--------------------------------------"
echo "|        _____   _____   _   _       |"
echo "|       /  ___/ /  ___/ | | | |      |"
echo "|       | |___  | |___  | |_| |      |"
echo "|       \___  \ \___  \ |  _  |      |"
echo "|        ___| |  ___| | | | | |      |"
echo "|       /_____/ /_____/ |_| |_|      |"
echo "--------------------------------------"

echo "--------------------------------------"
echo "please enter your Server:"
echo -e "(1) ${GRN}Linux Aliyun Shen ZHen${NC}"
echo "(2) Linux Aliyun  Hong kong"
echo "(3) Linux QNUS   Los Angeles"
echo "(4) exit"
echo "--------------------------------------"
read -p "请选择服务器:" input

case ${input} in
    1)
    echo -e "${GRN}Linux Aliyun Shen ZHen${NC}"
    $ssh 127.0.0.1 root passwd
        sleep 1;;
    2)
   echo -e "${GRN}Linux Aliyun Hong Kong${NC}"
    $ssh 127.0.0.1 root passwd
    sleep 1;;
    3)
    echo "Linux QN Los Angeles"
    $ssh 127.0.0.1 root passwd
    sleep 1;;
    4)
    exit;;
esac

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部