首页 > 代码库 > 为ssh增加选项

为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

技术分享

 

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

 技术分享

这样就增加了一个参数

 

为ssh增加选项