在使用ssh的时候,可以看到ssh有很多功能,什么-o , -e等等。如下图

需求,想要给ssh增加一个参数的功能。比如说我现在的需求就是执行ssh的时候可以增加一个选项,给我每次ssh的操作搭一个标记,每次我grep这个我打的标记就可以准确的找到这个ssh的进程

那就要去找ssh的源码了

源码下载地址 http://www.openssh.com/portable.html

左侧选择相应os的平台,这里就以linux 为例,进入到linux的页面后

选择镜像位置之后点击下载

下载解压后找到ssh.h的这个文件,编辑

找到ssh的帮助代码块增加-z的一段自定义代码

在找到下面的功能代码块,在while中增加你要新增的参数我这里增加了 【Z】

然后在这块代码块的最后增加一个case(和shell 中的case有几分相似,然后增加功能)

我这里的功能就是打印我输入的tag 这个的optarg 就是-Z后面带的参数,我把他打印出来。就是printf,最后别忘了加上 break;

然后就可以放到linux服务器上编译安装了

编译方法

找到configure增加可执行权限

[root@node1 openssh-7.3p1]# cd /opt/src/openssh-7.3p1/
[root@node1 openssh-7.3p1]# chmod +x configure
执行编译
[root@node1 openssh-7.3p1]# ./configure --prefix=/opt/svr/openssl
prefix : 编译好以后安装的位置

最后显示这样就是编译成功,就可以安装了

*如果编译中有什么依赖的库需要安装,哪就yum安装就好了

没报错就接着安装。

make && make install

可能会出现下面的错误

[root@node1 openssh-7.3p1]# chmod +x mkinstalldirs

 然后重新安装 

验证:

[root@node1 openssl]# cd /opt/svr/openssl/
[root@node1 openssl]# ./bin/ssh -h

可以看到我们增加的一个参数

这样就增加了一个参数

2、抓取ssh的进程的操作

[root@MiWiFi-R1D-srv ~]# strace -p 6702 -t

 *注意,不要抓当前strace操作的ssh进程。会有很多输出的。

[root@MiWiFi-R1D-srv ~]# strace -p 6702 -t -o /FILE #输出到文件中

  

为ssh增加选项的更多相关文章

  1. debian 安裝SSH 增加新用戶 并使用sudo

    1 新建新用戶user 2 3 adduser user 4 5 passwd 123654 6 7 exit 刚安装好的Debian默认还没有sudo功能. 1.安装sudo # apt-get i ...

  2. CentOS 7搭建KVM在线管理面板WebVirtMgr之使用SSH授权登录

    环境:CentOS 7.4 1.创建SSH私钥和ssh配置选项(在安装了WebVirtMgr的系统上): # 切换到nginx用户su - nginx -s /bin/bash # 生产ssh密钥 s ...

  3. 利用SSH隧道技术穿越内网访问远程设备

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/11899478.html 通常,我们用于调试的计算机无法远程访问位于局域网中的待调试设备. ...

  4. SSH 远程访问及控制 ( 早上好,我是派大星,上帝派来爱你的那颗星)

    远程访问及控制 1.SSH远程管理,TCP Wrappers访问控制 2.配置密钥对验证 1.SSH远程管理,TCP访问控制 SSH是一种安全通道协议,主要用来实现字符界面的远程登录.远程复制等功能: ...

  5. 常用的SSH,你了解多少?(长文警告)

    1.SSH工作原理 从ssh的加密方式说开去,看下文 1.1.对称加密 客户端和服务端采用相同的密钥进行数据的加解密,很难保证密钥不丢失,或者被截获.隐藏着中间人攻击的风险 如果攻击者插在用户与远程主 ...

  6. windows下使用火狐浏览器插件AutoProxy+MyEnTunnel+SSH访问海外站点(转)

    windows下使用火狐浏览器插件AutoProxy+MyEnTunnel+SSH访问海外站点   平时需要查阅一些技术资料,光走VPN太浪费流量,所以这儿教大家一种使用火狐浏览器的插件 AutoPr ...

  7. linux下ssh远程登录服务器入门操作

    使用用户名密码登录 在命令行中输入命令: ssh username@ip_address -p port 之后系统会提示输入密码,输入后即可登录 如果不添加-p选项,则默认是22端口 还可以使用-l选 ...

  8. linux 使用ssh到远端并且使用while的坑

    如果要使用ssh批量登录到其它系统上操作时,我们会采用循环的方式去处理,那么这里存在一个巨大坑,你必须要小心了. 现在是想用一个脚本获取远程服务器端/root下面的文件: #!/bin/bash ca ...

  9. linux(十)配置ssh免密登录实现

    知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业 ...

随机推荐

  1. Android NDK开发之Jni调用Java对象

    https://my.oschina.net/zhiweiofli/blog/114064 通过使用合适的JNI函数,你可以创建Java对象,get.set 静态(static)和 实例(instan ...

  2. laravel redis

    安装配置redis服务器 $ wget http://download.redis.io/releases/redis-3.0.5.tar.gz $ tar xzf redis-.tar.gz $ c ...

  3. iOS图片压缩处理

    理解概念 首先,我们必须明确图片的压缩其实是两个概念: “压” 是指文件体积变小,但是像素数不变,长宽尺寸不变,那么质量可能下降. “缩” 是指文件的尺寸变小,也就是像素数减少,而长宽尺寸变小,文件体 ...

  4. centos7下更改java环境

    1.上传下载的java包,如http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jre-8u77-linux-x64.rpm,目录可以自己定义一个 ...

  5. [LeetCode]题解(python):120 Triangle

    题目来源 https://leetcode.com/problems/triangle/ Given a triangle, find the minimum path sum from top to ...

  6. TCP/IP协议 三次握手与四次挥手

    一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下:        (1)序号 ...

  7. LeetCode Count of Smaller Numbers After Self

    原题链接在这里:https://leetcode.com/problems/count-of-smaller-numbers-after-self/ 题目: You are given an inte ...

  8. 设置SQLServer的行版本控制隔离级别

    1.--查询数据库状态 select name,user_access,user_access_desc,snapshot_isolation_state,snapshot_isolation_sta ...

  9. Jquery使select、radio某项选中

    select $("#class").find("option[value='123']").attr("selected",true); ...

  10. free-library-converts-2d-image-to-3d

    http://www.i-programmer.info/news/105-artificial-intelligence/4917-free-library-converts-2d-image-to ...