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. zabbix 自定义 nginx 监控模板

    打开zabbix首页→配置→模板→创建模板模板名称:Template App NGINXagent 需添加自定义监控项:UserParameter=nginx.status[*],/bin/bash ...

  2. 缺省源和 Vim 配置

    缺省源 #include <bits/stdc++.h> #define x first #define y second #define pb push_back #define mp ...

  3. Educational Codeforces Round 33 (Rated for Div. 2) F. Subtree Minimum Query(主席树合并)

    题意 给定一棵 \(n\) 个点的带点权树,以 \(1\) 为根, \(m\) 次询问,每次询问给出两个值 \(p, k\) ,求以下值: \(p\) 的子树中距离 \(p \le k\) 的所有点权 ...

  4. 自学Python3.6-算法 二分查找算法

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  5. IntelliJ IDEA快捷键总结

    原文: IntelliJ IDEA快捷键 下面只列出Windows系统下的快捷键,Mac下的快捷键参考上面的链接. Remember these Shortcuts 功能 快捷键 Smart code ...

  6. debugger

    今天爬取cfda时遇到的困难,一旦开启了调试,就debugger pause, ???还有这种操作 一顿google,百度,解决了这个问题,点一下Deactivate breakPoints,然后点一 ...

  7. C语言学习记录之一

    1. while语句 2. 循环嵌套 3. 数组 4. 排序 1. while 由于上节课时间有限,介绍完for循环后没有来得及讲while语句.简单来讲,while也是一种循环结构,先看一个例子: ...

  8. poj1182、hdu1829(并查集)

    题目链接:http://poj.org/problem?id=1182 食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: ...

  9. @transactional注解在什么情况下会失效,为什么。

    @transactional注解在什么情况下会失效,为什么. @Transactional的使用: @Transactional public void updateUserAndAccount(St ...

  10. 洛谷P3354 河流

    有点权边权的树,选出k个关键点,根必须选.每个点的贡献为点权 * 到最近的关键祖先的距离.求最小总贡献. 解:树形DP是最毒瘤的算法...... 设fxij表示以x为根的子树中选了j个关键点,且x的最 ...