文档章节

通过ssh实现登录服务器脚本

o
 osc_lt2jwwhb
发布于 07/09 07:37
字数 485
阅读 42
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

版本v1

#!/bin/bash
#######################
#author: Bovin
#######################
#show all host infos of serverList.txt
if [[ -f $HOME/.serverList.txt ]]
then
  hostNum=`cat $HOME/.serverList.txt | wc -l`
else
  echo "No .serverList.txt in $HOME dir, please create it and add server infos."
  exit
fi
while [ True ] 
do
  echo -e "+++++++++++ Host List ++++++++++++++++"
  awk -F' ' '{printf("%3d -> %s@%s\n", NR,$1,$2)}'  $HOME/.serverList.txt 
  echo -e "++++++++++++++++++++++++++++++++++++++"
  echo -e "Enter hostID at first column."
  echo -e "Enter q or Q to quit." 
  read hostID
  if [[ "$hostID" == 'q' ]] || [[ "$hostID" == 'Q' ]]
  then
    exit 
  elif [[ $hostID -lt 1 ]] || [[ $hostID -gt $hostNum ]]
  then
    echo "Wrong hostID is selected, Only $hostNum hosts are listed, please check."
    continue
  else
    break
  fi
done
user=""
host=""
passwd=""
eval $(awk -v hostID=$hostID -F' ' '{if (NR==hostID) {printf("user=%s;host=%s;passwd=%s;",$1,$2,$3);}}'  $HOME/.serverList.txt) 
#echo $user, $host, $passwd
echo "login in $user@$host"
expect -c "
set timeout 30
  spawn ssh $user@$host
  expect {
  \"*yes/no\" { send \"yes\r\"; exp_continue }
  \"*?assword:\" { send \"$passwd\r\" }
  }
  interact
"

说明:此脚本读取.serverList文件,.serverList文件存有服务器信息。内容如下:

qindy 10.24.34.69 qindy
root 10.24.181.140 passWord 
wrf 10.24.185.18 wrf

第一列:系统用户名称;第二列:服务器ip地址;第三列:服务器密码。


版本v2

#!/bin/bash
#######################
#author: Bovin
#######################
#show all host infos of serverList.txt
if [[ -f /root/exec/iplist.txt ]]
then
  hostNum=`cat /root/exec/iplist.txt | wc -l`
else
  echo "No iplist in dir, please create it and add server infos."
  exit
fi
while [ True ] 
do
  echo -e "+++++++++++ Host List ++++++++++++++++"
  awk -F' ' 'BEGIN {print "ID\tServerName\tUser@ServerIp"}{printf("%2d -> %s %s@%s\n", NR,$1,$2
,$3)}'  /root/exec/iplist.txt
  echo -e "++++++++++++++++++++++++++++++++++++++"
  echo -e "Enter hostID at first column."
  echo -e "Enter q or Q to quit." 
  read hostID
  if [[ "$hostID" == 'q' ]] || [[ "$hostID" == 'Q' ]]
  then
    exit 
  elif [[ $hostID -lt 1 ]] || [[ $hostID -gt $hostNum ]]
  then
    echo "Wrong hostID is selected, Only $hostNum hosts are listed, please check."
    continue
  else
    break
  fi
done
servername=""
user=""
host=""
passwd=""
eval $(awk -v hostID=$hostID -F' ' '{if (NR==hostID) {printf("servername=%s;user=%s;host=%s;pas
swd=%s;",$1,$2,$3,$4);}}'  /root/exec/iplist.txt) 
#echo $user, $host, $passwd
echo "logining $servername by $user@$host"
expect -c "
  set timeout 30
  spawn ssh $user@$host
  expect {
  \"*yes/no\" { send \"yes\r\"; exp_continue }
  \"*?assword:\" { send \"$passwd\r\" }
  }
  interact
"

说明:此脚本读取iplist.txt文件,iplist.txt文件存有服务器信息。内容如下:

centos-test1 root 172.16.172.151 yunjikeji
centos-test2 root 172.16.172.152 yunjikeji
centos-test3 root 172.16.172.153 yunjikeji

第一列:服务器名称;第二列:系统用户名;第三列:服务器ip地址;第四列:服务器密码。

o
粉丝 0
博文 65
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
访问安全控制解决方案

本文是《轻量级 Java Web 框架架构设计》的系列博文。 今天想和大家简单的分享一下,在 Smart 中是如何做到访问安全控制的。也就是说,当没有登录或 Session 过期时所做的操作,会自动退回到...

黄勇
2013/11/03
3.6K
8
用vertx实现高吞吐量的站点计数器

工具:vertx,redis,mongodb,log4j 源代码地址:https://github.com/jianglibo/visitrank 先看架构图: 如果你不熟悉vertx,请先google一下。我这里将vertx当作一个容器,上面所有的圆圈要...

jianglibo
2014/04/03
4.3K
3
SQLServer实现split分割字符串到列

网上已有人实现sqlserver的split函数可将字符串分割成行,但是我们习惯了split返回数组或者列表,因此这里对其做一些改动,最终实现也许不尽如意,但是也能解决一些问题。 先贴上某大牛写的s...

cwalet
2014/05/21
9.7K
0
Nutch学习笔记4-Nutch 1.7 的 索引篇 ElasticSearch

上一篇讲解了爬取和分析的流程,很重要的收获就是: 解析过程中,会根据页面的ContentType获得一系列的注册解析器, 依次调用每个解析器,当其中一个解析成功后就返回,否则继续执行下一个解...

强子哥哥
2014/06/26
712
0
树莓派(Raspberry Pi):完美的家用服务器

自从树莓派发布后,所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒,但树莓派( RPi )最明显却又是最不吸引人的用处是:创建你的完美家用...

异次元
2013/11/09
7.8K
8

没有更多内容

加载失败,请刷新页面

加载更多

Model S被18轮重卡撞烂 乘客在车辆保护下幸存

日前,国外一位名为quarm813的网友在社交媒体分享了“Model S救他和女儿性命”的经历。 据该用户描述,当地时间7月31日,他驾驶Model S在高速公路快车道上行驶时,一辆18轮重卡突然实线并线闯...

osc_fipgtxy8
10分钟前
0
0
Redis-cluster5.x集群搭建

1.下载redis5.0.2 wget http://download.redis.io/releases/redis-5.0.2.tar.gz #官网下载 tar xzf redis-5.0.2.tar.gz #解压cd redis-5.0.2 yum install gcc #需要gcc来编......

osc_zzg7fpke
12分钟前
0
0
CGB2004-京淘项目Day12

1.还原系统配置 1.1 释放Linux资源 1.1.1 停止数据库主从服务 1.1.2 关闭数据库服务 说明:关闭数据库服务器. 1.1.3 关闭tomcat/mycat服务器 1.1.4关闭nginx服务器 1.2 修改代码中的配置 1.2....

osc_3361hjxk
12分钟前
0
0
【北京迅为】初识i.MX6ULL终结者开发板

目录 一、 开发板初体验 1. 初识i.MX6ULL终结者开发板 一、 开发板初体验 i.MX6ULL终结者开发板是北京迅为电子推出的一款Cortex-A7架构的开发板。采用核心板+底板的方式,如下图所示: 经典蓝...

osc_0esgtdby
13分钟前
0
0
如何利用基于PXI的下一代ATE系统测试平台进行军事/航天/卫星电子设备测试

前言 自动测试设备(ATE)系统用于在生产产品或产品使用过程中测试电子组件,子组件或完整系统的功能和性能,以确保他们可操作性。对设备、电路板、子组件或系统的测试要求从简单到复杂,设计...

osc_mxz6aybo
14分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部