为ssh增加选项
在使用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增加选项的更多相关文章
- debian 安裝SSH 增加新用戶 并使用sudo
1 新建新用戶user 2 3 adduser user 4 5 passwd 123654 6 7 exit 刚安装好的Debian默认还没有sudo功能. 1.安装sudo # apt-get i ...
- CentOS 7搭建KVM在线管理面板WebVirtMgr之使用SSH授权登录
环境:CentOS 7.4 1.创建SSH私钥和ssh配置选项(在安装了WebVirtMgr的系统上): # 切换到nginx用户su - nginx -s /bin/bash # 生产ssh密钥 s ...
- 利用SSH隧道技术穿越内网访问远程设备
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/11899478.html 通常,我们用于调试的计算机无法远程访问位于局域网中的待调试设备. ...
- SSH 远程访问及控制 ( 早上好,我是派大星,上帝派来爱你的那颗星)
远程访问及控制 1.SSH远程管理,TCP Wrappers访问控制 2.配置密钥对验证 1.SSH远程管理,TCP访问控制 SSH是一种安全通道协议,主要用来实现字符界面的远程登录.远程复制等功能: ...
- 常用的SSH,你了解多少?(长文警告)
1.SSH工作原理 从ssh的加密方式说开去,看下文 1.1.对称加密 客户端和服务端采用相同的密钥进行数据的加解密,很难保证密钥不丢失,或者被截获.隐藏着中间人攻击的风险 如果攻击者插在用户与远程主 ...
- windows下使用火狐浏览器插件AutoProxy+MyEnTunnel+SSH访问海外站点(转)
windows下使用火狐浏览器插件AutoProxy+MyEnTunnel+SSH访问海外站点 平时需要查阅一些技术资料,光走VPN太浪费流量,所以这儿教大家一种使用火狐浏览器的插件 AutoPr ...
- linux下ssh远程登录服务器入门操作
使用用户名密码登录 在命令行中输入命令: ssh username@ip_address -p port 之后系统会提示输入密码,输入后即可登录 如果不添加-p选项,则默认是22端口 还可以使用-l选 ...
- linux 使用ssh到远端并且使用while的坑
如果要使用ssh批量登录到其它系统上操作时,我们会采用循环的方式去处理,那么这里存在一个巨大坑,你必须要小心了. 现在是想用一个脚本获取远程服务器端/root下面的文件: #!/bin/bash ca ...
- linux(十)配置ssh免密登录实现
知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业 ...
随机推荐
- JS-确认框
if(confirm("Sure to xxxxxx?")){ xxxxxx; xxxxxx; }
- Characteristics of Some CISCs, RISCs, and Superscalar Processors
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Although RISC archite ...
- 使用Mongo官方驱动操作Mongo数据库
首先到 https://github.com/mongodb/mongo-csharp-driver/downloads 下载Mongo官方驱动 下载完成后引用到项目中 public class Co ...
- mysql重点--执行计划
explain SQL: 在sql语句前面加explain实现"执行计划"的功能.功能是比较准确的显示将要执行这条sql语句的运行状况. select_simple 是查询类型:t ...
- NGINX: 405 Not Allowed
近期做一个手机端静态网站,在wcm上网站预览的时候显示正常,网站数据发布到nginx网站服务上后,发现页面有部分不显示: 正常页面: 错误页面: 进入谷歌浏览器的Developer Tools(F12 ...
- ios - GCD简单小结
首先GCD两个名词: 队列 同步异步. 队列: 任务放到队列,队列中的任务执行方式取决于执行队列中任务的方式---同步异步. 串行队列: 任务顺序执行,可以叫阻塞队列.只有前面任务完成才执行后面的. ...
- [Android Tips] 4. Dismiss PopupWindow when touch outside
PopupWindow.setFocusable(true);
- Hadoop+Spark:集群环境搭建
环境准备: 在虚拟机下,大家三台Linux ubuntu 14.04 server x64 系统(下载地址:http://releases.ubuntu.com/14.04.2/ubuntu-14.0 ...
- LaTeX插入图表方法 Lists of tables and figures
Lists of tables and figures A list of the tables and figures keep the information organized and prov ...
- android webview 底层实现的逻辑
其实在不同版本上,webview底层是有所不同的. 先提供个地址给大家查:http://grepcode.com/file/repository.grepcode.com/java/ext/com.g ...