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登录脚本相关推荐
- linux sh脚本 while,Linux shell脚本使用while循环执行ssh的注意事项
原标题:Linux shell脚本使用while循环执行ssh的注意事项 如果要使用ssh批量登录到其它系统上操作时,我们会采用循环的方式去处理,那么这里存在一个巨大坑,你必须要小心了. 一.场景还原 ...
- 如何设置 Linux 上 SSH 登录的 Email 提醒
如何设置 Linux 上 SSH 登录的 Email 提醒 虚拟私有服务器 (VPS)上启用 SSH 服务使得该服务器暴露到互联网中,为黑客攻击提供了机会,尤其是当 VPS 还允许root 直接访问时 ...
- 执行远程linux命令,linux shell 远程执行命令
经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 如果不会的请参加我的另外一篇文章 http://blog.csdn ...
- Linux shell脚本基础学习
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- Windows轻松实现linux shell环境:gitforwindows
Windows缺少shell命令支持 用过Linux服务器分析数据的小伙伴,一定对Linux强大Shell命令所折服,经常会感觉windows缺少这些命令而感觉不方便. 还有想学习Linux Shel ...
- Windows不用虚拟机或双系统,轻松实现linux shell环境:gitforwindows
windows缺少shell命令支持 用过Linux服务器分析数据的小伙伴,一定对Linux强大Shell命令所折服,经常会感觉windows缺少这些命令而感觉不方便. 还有想学习Linux Shel ...
- Linux下SSH命令使用方法详解
1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用Op ...
- Linux之SSH性能调优,防止连接等待时间过长,连接速度飞起
SSH服务: 干货:我的虚拟机情况,改完之后 连接速度飞起 修改相应配置: vim /etc/ssh/sshd_conf UseDNS no GSSAPIAuthentication no 保存退出 ...
- 8则实用的Linux Shell命令
8则实用的Linux Shell命令 1 为 man 手册创建 pdf 版本 man -t manpage | ps2pdf - filename.pdf 比如制作 ls 命令的 man 手册 pdf ...
最新文章
- 对象***已断开连接或不在该服务器上 的解决方案之一
- 《Java程序员,上班那点事儿》书名的由来
- 分布式系统的事务处理
- ifm virtual check part3
- 【Swift学习笔记00】——enumeration枚举类型遵循协议protocol
- python实现程序重启_python实现自动重启本程序的方法
- 2017.8.8 魔兽地图DotR 思考记录
- 蓝桥杯2020国赛太原理工学子成绩大跃进
- 移动端向上滑动整个屏幕
- java项目高新_java高新技术
- mac mysql docker_docker学习(5) 在mac中创建mysql docker容器
- 【MicroPython ESP32】超低功耗协处理器(ULP):睡眠模式示例详解
- MYSQL默认隔离级别详解
- 二十一世纪大学英语读写教程(第二册)学习笔记(原文)——1 - Winston Churchill—His Other Life(丘吉尔与绘画)
- 西电软工oop面向对象程序设计实验四上机报告
- Hadoop 之Mong DB 之CentOS 6 使用 yum 安装MongoDB及服务器端配置
- Android学习笔记-传感器开发之利用传感器和Tween开发简易指南针
- 手机红外遥控器 求源码
- 新版MinGW-w64(12.2.0)安装
- 【windows】查看文件md5码
热门文章
- c语言产生一m序列,其特征多相式:1+x^3+x^5,M序列伪随机码在测距回答概率控制中的 - FPGA/ASIC技术 - 电子发烧友网...
- php mms,PHP代码示例_PHP账号余额查询接口 | 微米-中国领先的短信彩信接口平台服务商...
- html5面板制作代码,HTML5绘制设备面板
- 怎么看b树是几阶_看我在B站上怎么学习的
- matlab在测量数据处理中的应用,MATLAB在测量数据处理中的应用
- android clean 框架,clean架构
- 管道通信C语言,Go语言通道(chan)——goroutine之间通信的管道
- 整数中内存中的保存方式:大端、小端
- (曲率系列2:)Paper6:Curvature Estimation of 3D Point Cloud Surfaces Through the Fitting of Normal
- 基于Charlieplexing算法(查理复用算法)的LED矩阵控制设计