为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增加可执行权限
1 2 3 4 5 | [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安装就好了
没报错就接着安装。
1 | make && make install |
可能会出现下面的错误
1 | [root@node1 openssh-7.3p1] # chmod +x mkinstalldirs |
然后重新安装
验证:
1 2 | [root@node1 openssl] # cd /opt/svr/openssl/ [root@node1 openssl] # ./bin/ssh -h |
可以看到我们增加的一个参数
这样就增加了一个参数
2、抓取ssh的进程的操作
1 | [root@MiWiFi - R1D - srv ~] # strace -p 6702 -t |
*注意,不要抓当前strace操作的ssh进程。会有很多输出的。
1 | [root@MiWiFi - R1D - srv ~] # strace -p 6702 -t -o /FILE #输出到文件中 |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· Supergateway:MCP服务器的远程调试与集成工具