trap实现跳板机
第一节 跳板机实现原理(图例)
第2节 涉及到的知识点
命令:trap
拓展知识:进程与信号
trap 语法,作用,使用
[jeson@mage-jump-01 ~/]$ trap -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
| trap -l | 打印所有进程的信号 |
| trap -p | 显示那些信号已经被设置了。 |
| trap “” signals(或编号) | 为空表示这个信号,执行的命令为空。可以同设置多个trap “” signals1 signals2 signals N |
| trap “commands” signals(编号) | 收到signals指定信号时,信号功能复位同时执行commands命令。可以同时设置多个 |
| trap signals(或编号) | 没有命令部分,信号复原默认状态。可以同时恢复多个:trap signals1 signals2 signals N |
使用方法:
[jeson@mage-jump- ~/]$trap 'echo "I am a boy"' INT |
案例:ctrl + c 后,清理工作
|
窗口1 |
窗口2 |
cat >touch_file.sh <<-EOF [jeson@mage-jump-01 ~/]$ bash touch_file.sh |
# 观察窗口1按下ctrl + c后,是否自动清理文件 [jeson@mage-jump-01 ~/]$ watch -n 1 ls /tmp/jeson_* |
第2节 实现跳板机
跳板机主脚本:
|
窗口1:trap信号跳板机脚本 |
窗口2:设置特定用户登录不受跳板机代码影响 |
窗口3:测试效果 |
|
[jeson@mage-jump-01 ~/]$cat /server/scripts/tiao_ban_ji.sh #!/bin/bash |
[jeson@mage-jump-01 ~/]$ cat /etc/profile.d/tb.sh [ $UID -ne ] && [ $USER != 'jeson' ] &&\ source /server/scripts/tiao_ban_ji.sh 只有特定用户“root”和“jeson”可以使用“0) EXIT”功能。 |
======Host List======== |
密匙分发脚本:
| 密匙分发脚本1:cat /server/scripts/send_key.sh |
#!/bin/bash |
| 密匙分发exepect脚本实现非交互方式:cat /server/scripts/fenfa_sshkey.exp |
#!/bin/expect |
| 需要分发到的主机配置文件: |
[root@web-lnmp-01 ~/]#cat /server/scripts/conf/sshkey.conf root 10.0.0.31 |
trap实现跳板机的更多相关文章
- linux跳板机开发之trap信号机应用
场景1:公司新招聘了一个配置管理员,他的工作是负责将公司开发人员写的新代码依次分发到办公室测试环境.IDC测试环境和正式线上环境.因此公司需要开发一个程序,当配置管理员登录服务器,只能进入分发的管理界 ...
- Shell实现跳板机,为什么用跳板机
整理自:http://blog.chinaunix.net/uid-22101889-id-3167454.html 注意:请谨慎使用,到现在为止,使用了,我还没找到改回去的方法. 1. 问题 ...
- shell脚本之nginx启动脚本、统计日志字段、for循环实战、跳板机
1.NGINX启动脚本 #!/bin/bash # chkconfig: 235 32 62 # description: nginx [ -f /etc/init.d/functions ] &am ...
- 运维常用shell脚本一(系统指标巡检、自动创建用户、跳板机)
一.系统指标巡检脚本 #!/bin/bash menu(){ cat <<EOF +---------------------------------------------+ | 日常巡 ...
- 13、ssh跳板机
13.1.前提条件: 1.跳板机服务器和其它服务器建立了ssh秘钥登录: 2.目前的环境: (1)各服务器上都建立了lc用户,并给于sudo (lc ALL= NOPASSWD:ALL )权限,lc就 ...
- 【自动部署】Ansible 怎么通过堡垒机/跳板机 访问目标机器
Ansible机器的 /root/.ssh/config 配置如下即可:Host 目标机器IP User root IdentityFile=/root/.ssh/xxx_id_rsa ProxyCo ...
- navicat使用跳板机连接数据库-ssh
1. 目标数据库的域名/IP,端口,用户名,密码:如图1 2. 这时候不要点OK!选择SSH这个tab 3. 选中User SSH Tunnel:填写跳板机域名/IP,用户名,密码(注意:端口22不要 ...
- 跨越跳板机传文件nc
从线上服务器与本机互传文件 传输方 nc -l 10000 < a.tar 接收方 nc xx.xx.xx.xx 10000 >a.tar 原理: 文件传输方运行nc,指定端口,设置监听文 ...
- 在有跳板机的情况下,SecureCRT自动连接到目标服务器
为了服务器的安全,运维人员经常会要求我们先登录到跳板机,然后再SSH连接到目标服务器.但是这样是很繁琐的,每次在SecureCRT创建一个连接,都需要输入SSH命令,然后输入密码. 下面的方法可以实现 ...
随机推荐
- Ubuntu16.04中安装搜狗输入法
1.从搜狗输入法官网界面下载安装包 https://pinyin.sogou.com/linux/ 2.安装 sudo dpkg -i sogoupinyin_2.1.0.0082_amd64.deb ...
- Linq分组查询统计
这里介绍Linq使用Group By和Count得到每个CategoryID中产品的数量,Linq使用Group By和Count得到每个CategoryID中断货产品的数量等方面. 学经常会遇到Li ...
- k8s-YAML配置文件(转)
转自http://www.cnblogs.com/bigberg/p/9203619.html 一.YAML基础 YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便.它实质上是一 ...
- nginx隐藏入口文件index.php
网站的访问url可能是这样http://www.xxx.com/index.php/home/index/index 这种有点不美观,我们想达到如下效果http://www.xxx.com/home/ ...
- SVN远程管理
1.使用远程桌面连接工具,分别填写连接地址和用户名进行连接 2.紧接着进行安全登录. 3.打开VisualSVN Server Manager工具进行显示已经拥有的项目和分配好的群组管理. 这样子就可 ...
- mysql: 查看某库表大小
查询所有数据库占用磁盘空间大小的SQL语句: 语句如下 1 2 3 4 5 select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/102 ...
- Windows10右键添加"在此处打开命令窗口"
添加注册表: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere] @=" ...
- Node核心模块
在Node中,模块主要分两大类:核心模块和文件模块.核心模块部分在 Node 源代码的编译过程中,编译进了二进制执行文件.在 Node 进启动时,部分核心模块就被直接加载进内存中,所以这部分核心模块引 ...
- 理解OpenShift(3):网络之 SDN
理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...
- WPF Chart
https://quant.stackexchange.com/questions/7065/how-to-create-charts-in-wpf-finance-applications
