1、首先创建存放日志的文件夹并开放读写权限
 
    mkdir /var/log/jump/
 
    chmod -R 777 /var/log/jump/
 
2、将原有ssh程序修改为另外一个名字,然后创建一个执行脚本,脚本中调用原来的ssh程序,只是在调用的时候添加了之前说的tee命令
 
    mv /usr/bin/ssh /usr/bin/ori  
 
    vi /usr/bin/ssh  
 
新建ssh文件内容如下:    
 #! /bin/sh  

 mkdir -p /var/log/jump/$(whoami)

 echo $ | grep @ &>/dev/null && IP=$(echo $ | awk -F '@' '{print $2}') || IP=$

 LOGNAME=${IP}_$(date +"%F_%T")

 ori $ | tee -a /var/log/jump/$(whoami)/${LOGNAME}.log
脚本中首先将访问IP提取出来,然后根据IP和当前时间戳决定日志文件名称,最后调用原有ssh程序(添加tee命令功能)  
 
3、添加执行权限
 
    chmod a+x /usr/bin/ssh  
 
ps: /usr/bin/ssh 必须重命名为一个三个字符的名字,要不然会影响scp使用,同时需要将scp命令中所有ssh替换成ori
 
 
 
[root@Jump-server jump]# ls -l /var/log/jump/
total 32
drwxrwxr-x. 2 xxx01 xxx01  4096 Jan 15 09:47 xxx01
drwxr-xr-x. 2 root        root         4096 Jan 15 11:04 root
drwxrwxr-x. 2 xxx02  xxx02   4096 Jan 14 17:24 xxx02
drwxrwxr-x. 2 xxx03 xxx03 20480 Jan 14 20:39 xxx03
[root@Jump-server jump]#
[root@Jump-server jump]# ls -l /var/log/jump/xxx01/
total 52
-rw-rw-r--. 1 xxx01 xxx01     0 Jan 14 14:01 127.0.0.1_2019-01-14_14:01:50.log
-rw-rw-r--. 1 xxx01 xxx01     0 Jan 14 14:43 172.17.0.11_2019-01-14_14:43:52.log
-rw-rw-r--. 1 xxx01 xxx01     0 Jan 14 14:44 172.17.0.11_2019-01-14_14:44:18.log
-rw-rw-r--. 1 xxx01 xxx01 43624 Jan 14 17:25 172.17.0.11_2019-01-14_14:48:08.log
-rw-rw-r--. 1 xxx01 xxx01   679 Jan 15 09:47 172.19.1.43_2019-01-15_09:47:14.log
[root@Jump-server jump]# cat /var/log/jump/xxx01/172.19.1.43_2019-01-15_09\:47\:14.log
Last login: Mon Jan 14 19:59:45 2019 from 172.19.1.251
[root@HK-arrow-monitor01 ~]# ll
total 68
-rw-r--r--.  1 root root   364 Jan 14 19:59 11.sh
-rw-r--r--.  1 root root   724 Jan 14 19:59 1.sh
drwxr-xr-x. 25 root root  4096 Jan 14 12:28 AgentShell
-rw-------.  1 root root  4066 Jan  3 16:08 anaconda-ks.cfg
-rw-r--r--.  1 root root 29631 Jan  3 16:08 install.log
-rw-r--r--.  1 root root  7572 Jan  3 16:06 install.log.syslog
drwxr-xr-x.  8 root root  4096 Jan 10 09:17 install_produce
-rw-r--r--.  1 root root   301 Jan 14 17:04 sh.sh
[root@HK-arrow-monitor01 ~]# [root@Jump-server jump]#
 
 

ssh 跳板机部署的更多相关文章

  1. 封装带SSH跳板机的MYSQL

    一.封装带SSH跳板机的MYSQL 二.配置settting import pymysql from sshtunnel import SSHTunnelForwarder class MyDb(ob ...

  2. Jmeter JDBC请求-----数据库读取数据进行参数化 通过SSH跳板机连接数据库

    前期准备: jdbc驱动:mysql-connector-java-5.1.7-bin.jar Jmeter 要链接MySQL数据库,首选需要下载mysql jdbc驱动包(注:驱动包的版本一定要与你 ...

  3. mysql ssh 跳板机(堡垒机???)连接服务器

    跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一. 正常的登录流程 使用ssh命令登录跳板机: 登录跳板机成功后,在跳 ...

  4. 13、ssh跳板机

    13.1.前提条件: 1.跳板机服务器和其它服务器建立了ssh秘钥登录: 2.目前的环境: (1)各服务器上都建立了lc用户,并给于sudo (lc ALL= NOPASSWD:ALL )权限,lc就 ...

  5. 封装带SSH跳板机的REDIS

    一.封装ssh的redis 二.setting的配置 三.应用示例 import redis from sshtunnel import SSHTunnelForwarder from conf.se ...

  6. 使用pycharm、跳板机连接内网服务器

    使用pycharm.跳板机连接内网服务器 接手实验室服务器后,大部分同学在GPU集群上跑程序都是直接在ssh界面上跑,这里想着通过pycharm通过跳板机来连接服务器. 总体就是实验室服务器仅限内网访 ...

  7. 【自动部署】Ansible 怎么通过堡垒机/跳板机 访问目标机器

    Ansible机器的 /root/.ssh/config 配置如下即可:Host 目标机器IP User root IdentityFile=/root/.ssh/xxx_id_rsa ProxyCo ...

  8. navicat使用跳板机连接数据库-ssh

    1. 目标数据库的域名/IP,端口,用户名,密码:如图1 2. 这时候不要点OK!选择SSH这个tab 3. 选中User SSH Tunnel:填写跳板机域名/IP,用户名,密码(注意:端口22不要 ...

  9. jmeter连接配置带跳板机(SSH)的mysql服务器

    jmeter连接配置mysql服务器时,如果数据库服务器没有通过ssh连接,则只需要配置相应的jdbc参数就可以了,即请求域名或ip地址:3306,如果数据库服务器是通过SSH连接的,那需要通过中间远 ...

随机推荐

  1. U盘启动盘还原

    cmd运行 diskpart list disk clean 一般都是disk 1,不过最好先list查一下 右击桌面上的计算机图标,选择管理,进入磁盘管理,能看到u盘分区是未分配的(黑色),右击,新 ...

  2. cf1061E Politics (费用流)

    看到数据范围,考虑网络流..但考的时候完全不知道怎么建图 考虑流量表示选的点个数,费用表示选点的收益,跑最大费用最大流 那么我用一个点x表示某树中的询问点x,刨去它子孙询问点的子树后的子树 对于树1, ...

  3. [HNOI2007]梦幻岛宝珠(背包)

    给你N颗宝石,每颗宝石都有重量和价值.要你从这些宝石中选取一些宝石,保证总重量不超过W,且总价值最大为,并输出最大的总价值.数据范围:N<=100;W<=2^30,并且保证每颗宝石的重量符 ...

  4. js 读取包含特殊字符的属性值

    在JS中对象的属性可以通过两种方式访问:object.property和object["property"]. 包含特殊字符的属性只能以此方式访问: object["pr ...

  5. sha256加密

    sha256: 1.使用npm安装 :npm install js-sha256 2.然后在组件中methods定义方法,在调用 // sha256加密密码 setSha(){ let sha256 ...

  6. [ZROJ110][假如战争今天爆发]

    题面 思路 先假设我们已经知道了操作顺序,考虑如何求出时间.用f[i][j]表示前i个物品,第i个加工完了第j台机器所需要的最少的时间.转移的时候就是f[i][j] = max(f[i-1][j],f ...

  7. Can not issue data manipulation statements with executeQuery()错误解决

    转: Can not issue data manipulation statements with executeQuery()错误解决 2012年03月27日 15:47:52 katalya 阅 ...

  8. jQuery、layer实现弹出层的打开、关闭功能实例详解

    本文主要介绍了jQuery.layer实现弹出层的打开.关闭功能,需要的朋友可以参考下,希望能帮助到大家. 打开弹出层: 在list页面带入layer.js 在list页面点击时,弹出form弹出层, ...

  9. TODO java 作业-梭哈--待完成

    作业:定义一个类,该类用于封装一桌梭哈游戏,这个类应该包含桌上剩下的牌的信息,并包含5个玩家的状态的信息,他们各自的位置,游戏状态(正在游戏或已放弃),手上已有的牌等信息.如果有可能,这个类还应该实现 ...

  10. POJ 3349 Snowflake Snow Snowflakes (Hash)

    Snowflake Snow Snowflakes Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 48646   Accep ...