我最近编写了一个小脚本来获取本地网络中的操作 ssh 服务器列表,因为如果不将计算机连接到屏幕并进行查找(这将消除对 ssh 的需要),我不知道计算机的 IP 地址。因为我有多个 ssh 服务器,所以我想知道哪个 ip 地址属于一台计算机。为此,我想使用 ssh 横幅来识别计算机。由于使用 ssh 库来获得横幅和学习体验会有点过大,我想使用套接字来实现它。
Atm 我在 python 中有这个:
from socket import socket
s = socket()
s.connect((ip,22))
s.send(s.recv(100)) # send the ssh version back
直到这里它才起作用,并且从套接字读取会给出支持的加密算法列表。我应该发回一份算法列表和我的mac地址(我还没有成功)。我尝试发送从服务器获得的列表,但之后我没有得到任何响应。
根据文档,服务器可以随时发送横幅。当我使用普通的 ssh 客户端时,它会在我登录之前显示横幅,所以我认为我不需要经历整个身份验证过程。
使用套接字获取 ssh 横幅的最简单方法是什么?
(代码不必在 python 中)