为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指令开启终端机阶段作业 ...
随机推荐
- PG, Pool之间的一些数量关系
先说一下我的环境: Ceph cluster中包含6台OSD节点 (osd.0 - 5), 一共有10个Pool (0 - 9), 这些Pool共享了144个PG (这个数字是所有Pool的PG_SI ...
- ExtJS笔记 Proxy
Proxies are used by Stores to handle the loading and saving of Model data. Usually developers will n ...
- XHTML表单
1.HTML表单标记提供一套元素和属性,用来创建表单,收集网页参观者信息. 2.创建表单结构标记为<form>和</form>. 3.在<form>标记中,我们必须 ...
- DevExpress GridView对表格的部分说明
1. int[] selects = this.m_grdView1.GetSelectedRows(); // 获取选中的行,可能是几行 2. this.m_grdView1.GetRowCellV ...
- PHPExcel导出数据
require_once './class/Excel/PHPExcel.php'; //将(1,1)转换成"A1"形式 function getCoordinate($row, ...
- open-falcon 安装
openfalcon 规划 拓扑图 transfer 配置文件 [root@openfalcon_transfer1 transfer]# cat cfg.json { "debug&quo ...
- WCF服务接口多,客户端在引用时出错!报WCF The maximum nametable character count quota (16384) has been exceeded while reading XML data错误
WCF服务接口多,客户端在引用时出错!报WCF The maximum nametable character count quota (16384) has been exceeded while ...
- Java:并行编程及同步使用方法
知道java可以使用java.util.concurrent包下的 CountDownLatch ExecutorService Future Callable 实现并行编程,并在并行线程同步时,用起 ...
- 列间距column-gap
column-gap主要用来设置列与列之间的间距,其语法规则如下: column-gap: normal || <length> 取值说明 属性值 属性值说明 normal 默认值,默值为 ...
- WIN8系统安装软件时提示"扩展属性不一致"的解决方法
单位新添加了两台T440P笔记本电脑,需要安装五笔输入法,同事一直安装不上.开始以为是WIN8系统跟输入法不兼容的问题,怀疑是输入法下载有误.于是直接在输入法官网下载了输入法,问题依旧:扩展属性不一致 ...