宗小宗-PHP程序猿

欢迎各位朋友前来,如果我的文章中有不对的地方,还望指正;如需转载,请注明原处

使用shell脚本自定义实现选择登录ssh

在系统bin目录中建立两个脚本分别是pssh tssh

pssh

#!/usr/bin/expect -f
set ip [lindex $argv 0 ]
set port [lindex $argv 1 ]
set password [lindex $argv 2 ]
set uname [lindex $argv 3 ] set timeout
10 spawn ssh root@$ip -p$port expect { "*yes/no" { send "yes\r"; exp_continue} "*password:" { send "$password\rclear\r\r\r请小心使用,您现在登录的服务器IP是:$ip,服务器名称是:$uname" } } interact

 

tssh

#!/bin/sh
echo "以下是你的所有服务器列表"
echo "1.A服务器 192.168.100.11"
echo "2.B服务器 192.168.100.12"
echo "3.C服务器 192.168.100.13"
echo "回车键退出"
echo "请输入对应数字,选择你要登录的服务器:\c"
read input
test $input = 0

case $input in
1)pssh 192.168.100.11 22 123456 A服务器;;
2)pssh 192.168.100.12 22 admin B服务器;;
3)pssh 192.168.100.13 22 root C服务器;;
esac

记得将给脚本加上可执行权限

 

然后在终端上执行tssh出现如下结果

以下是你的所有服务器列表
1.A服务器 192.168.100.11
2.B服务器 192.168.100.12
3.C服务器 192.168.100.13
回车键退出
请输入对应数字,选择你要登录的服务器:1
spawn ssh root@192.168.100.11 -p22
CentOS release 6.8 (Final)
Kernel \r on an \m
root@192.168.100.11's password:
Last login: Thu Aug 18 18:34:58 2016 from 192.168.100.2

Welcome to aliyun Elastic Compute Service!

[root@Official ~]#

 

posted @ 2016-08-18 19:13  宗小宗  阅读(2937)  评论(0编辑  收藏  举报