linux 跳板机脚本,shell 搭建简易跳板机
创建跳板机脚本
[root@jumpserver sbin]# pwd
/usr/local/sbin
[root@jumpserver sbin]# vim jumpserver.sh
#!/bin/bash
function trapper(){
trap '' INT QUIT TSTP TERM HUP
}
function menu(){
cat <
==============Host List==============
1-192.168.14.125/24
2-192.168.14.126/24
3-192.168.14.127/24
4-192.168.14.128/24
5-192.168.14.129/24
6-192.168.14.130/24
7-192.168.14.131/24
8-192.168.14.133/24
9-192.168.14.134/24
10-192.168.14.135/24
0-Exit system
=====================================
EOF
}
function host(){
case "$1" in
1)
ssh user3@192.168.14.125
;;
2)
ssh user3@192.168.14.126
;;
3)
ssh user3@192.168.14.127
;;
4)
ssh user3@192.168.14.128
;;
5)
ssh user3@192.168.14.129
;;
6)
ssh user3@192.168.14.130
;;
7)
ssh user3@192.168.14.131
;;
8)
ssh user3@192.168.14.133
;;
9)
ssh user3@192.168.14.134
;;
10)
ssh user3@192.168.14.135
;;
0)
exit 0
esac
}
function main(){
while true
do
trapper
clear
menu
read -p "Pls input your choice:" num
host $num
done
}
main
更改文件权限:
[root@jumpserver ~]# chmod a+x /usr/local/sbin/jumpserver.sh
########################################################
加入系统启动文件:
[root@m01 profile.d]# vim /etc/profile.d/jumpserver.sh
[ $UID -ne 0 ] && \
. /usr/local/sbin/jumpserver.sh
#该部分需机器重启后生效
expect远程创建用户及密码(普通用户)
给各主机创建用于登录的普通用户及密码。
[root@jumpserver sbin]# cat /tmp/expect/ip.list
192.168.14.125
192.168.14.126
192.168.14.127
192.168.14.128
192.168.14.129
192.168.14.130
192.168.14.131
192.168.14.133
192.168.14.134
192.168.14.135
创建分发脚本:
[root@jumpserver sbin]# vim ssh_exe.expect
#!/usr/bin/expect
set host [lindex $argv 0]
set passwd "password"
set cm [lindex $argv 1]
spawn ssh root@$host
expect {
"yes/no" { send "yes\r"}
"password:" { send "$passwd\r" }
}
expect "]*"
send "$cm\r"
expect "]*"
send "exit\r"
[root@jumpserver sbin]# chmod 755 ssh_exe.expect
创建本地执行脚本:
[root@jumpserver sbin]# vim ssh_exe.sh
#!/bin/bash
for ip in `cat /tmp/expect/ip.list`
do
/usr/local/sbin/ssh_exe.expect $ip "useradd user3;echo 'password'|passwd --stdin user3"
done
创建完成后执行脚本:ssh_exe.sh
分发密钥(使用普通用户)
在jumpserver创建密钥对,并将公钥分发到各机器的普通用户。
首先在要登录的机器上创建用户并设置密码:
[root@localhost ~]# useradd mytest
[root@localhost ~]# passwd mytest
在跳板机创建密钥对:
[root@jumpserver ~]# ssh-keygen
将公钥分发到客户机:
[root@jumpserver ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub user3@192.168.14.125
[root@jumpserver ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub user3@192.168.14.126
……
验证
[root@jumpserver ~]# ssh 'user3@192.168.14.125'
[mytest@dir1~]#
即,此时可以在jumpserver机器执行脚本/usr/local/sbin/jumpserver.sh登录到各机器了。。。
linux 跳板机脚本,shell 搭建简易跳板机相关推荐
- Linux Centos7 搭建简易堡垒机安装jailkit实现chroot
Linux Centos7 搭建简易堡垒机安装jailkit实现chroot 一.什么是堡垒机 堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手 ...
- linux中间隔10ping一次脚本,linux批量ping脚本shell
linux批量ping脚本shell *ping失败后的返回字符串 5 packets transmitted, 0 received, 100% packet loss, time 3999ms* ...
- linux 跳板机脚本,shell 实现跳板机
zbuz添加用户,并批量分发ssh公钥脚本:#!/bin/bash . /etc/init.d/functions function add_user(){ jumper="$1" ...
- linux编写随机数脚本,Shell使用RANDOM编写1-10以内随机数
Shell使用RANDOM编写1-10以内的抽奖脚本,三次抽奖机会 1.创建一个脚本 vim /root/chou.sh 2.打开的文本中编辑内容 x=$[RANDOM%10+1] #系统随机数除十取 ...
- Linux下利用脚本全自动搭建论坛
一.利用脚本全自动安装虚拟机 在原来手动安装基础上进行以下操作: 1.卸载httpd.mariadb.php以及数据库链接服务,如下所示: 2.删除发布目录和数据库下面的信息,如下所示: 全自动脚本搭 ...
- linux写日历脚本,shell脚本实现日历的屏幕控制
首先什么是脚本? 脚本语句由Linux系统解释执行.脚本由脚本语言与可执行的二进制文件或命令组成,因此,脚本是不需要再编译链接的.为了与高级语言源程序加以区别,Linux中将其称为 "脚本& ...
- linux 的动画脚本,shell脚本动画小工具
shell脚本动画小工具 看gif图: shell脚本版 脚本内容如下: #!/usr/bin/env bash ## ---------------------------------------- ...
- linux服务器巡检脚本shell
#!/bin/bash #主机信息每日巡检IPADDR=$(ifconfig eth0|grep 'inet addr'|awk -F '[ :]' '{print $13}') #环境变量PATH没 ...
- linux文件比较脚本,shell脚本之对比不同目录的下的文件
让负责一部分代码的版本,担心公共目录下有人可能会稍微修改部分代码,因此把代码备份到自己的一个目录中,上传svn之前,如果发现公共目录的下的文件被修改,则找出变化部分,避免出现不可知的文件变化. 使用d ...
最新文章
- onchange事件只生效一次的问题
- C语言程序设计50例(一)(经典收藏)
- LeetCode 123. Best Time to Buy and Sell Stock III--Python解法--动态规划--数学题
- Javascript-稳妥构造函数模式
- 从零起步CMFCToolBar用法详解
- 【C语言】控制台窗口图形界面编程(六):光标设置
- 超过1w的Github Star大佬和他们的公众号,太强了!
- 自己动手写操作系统(二)一个最小的“操作系统”
- 关于CPU的一些基本知识总结
- Spring的@Transactional事务注意事项
- codevs 1164 统计数字
- mysql主从延迟设置
- DoIP(四)—— 时间参数
- apache 压力测试工具 ab ,带post参数,token请求
- APP 兼容性测试是什么?8年测试老鸟告诉你
- 7-2 求交错序列前N项和 (10 分)
- uniApp H5微信网页授权,微信支付
- 微机原理、汇编语言与接口技术(韩晓茹)课后答案
- root后充电很慢,root后开机慢
- 骨传导蓝牙耳机哪个牌子好?最受欢迎的五款骨传导蓝牙耳机