Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 按名称获取打开的ssh连接列表大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我的.ssh目录中有一个配置文件,看起来像这样 Host somehostA HostName 123.45.67.89 User katsh 所以从我的本地机器,我可以在配置文件中按名称ssh到多台机器,就像这样 ssh somehostA ssh somehostB ssh somehostC ... etc 是否有可能通过他们的名字获得我所连接的所有机器的列表? 我知道我能做到: lsof
我的.ssh目录中有一个配置文件,看起来像这样
Host somehostA
HostName 123.45.67.89
User katsh

所以从我的本地机器,我可以在配置文件中按名称ssh到多台机器,就像这样

ssh somehostA
ssh somehostB
ssh somehostC
...
etc

是否有可能通过他们的名字获得我所连接的所有机器的列表?

我知道我能做到:

lsof -i tcp -n | grep '\<ssh\>'

我会得到类似的东西

ssh        9871 katsh    3u  IPv4 400199      0t0  TCP 987.654.2.2:47329->987.654.2.2:47329:ssh (ESTABLISHED)
ssh       20554 katsh    3u  IPv4 443965      0t0  TCP 123.456.7.8:41923->123.456.7.8:ssh (ESTABLISHED)

但它没有列出他们的名字,只是IP

解决方法

如果你只想要一个名单,你可以做这样的事情
sudo netstat -atp | grep 'ESTABLISHED.*ssh ' | awk '{print $5}'| sed 's/:ssh//'

>获取已使用端口的列表
>过滤掉与ssh相关的内容.在ssh之后需要一个空格来删除到本地sshd的入站连接.
>从列表中获取名称
>删除:ssh

一些示例输出,没有sshd的过滤器

host1.lan
192.168.1.71:51053
192.168.1.71:50323
host2.lan
192.168.1.71:50929

显示了与host1和host2的传出连接,但也显示了我对演示主机的putty会话的入站连接.

过滤掉本地sshd连接的一些示例输出

host1.lan
host2.lan

大佬总结

以上是大佬教程为你收集整理的linux – 按名称获取打开的ssh连接列表全部内容,希望文章能够帮你解决linux – 按名称获取打开的ssh连接列表所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。