如何检测远程SSH服务器的操作系统和CPU体系结构
我有一个通过SSH连接到远程机器的程序。我想在那台机器上上传并运行一个二进制文件。为了做到这一点,我需要知道它是什么操作系统(我将支持Linux、Mac,可能还有Windows),以及什么样的CPU体系结构(我可能只支持x86_64,但如果可能的话,最好能够检测到其他操作系统并打印出合理的错误) SSH协议本身似乎没有提供任何此类信息。有没有一种简单、可靠的方法可以做到这一点?使用尽可能少的黑客(没有毛茸茸的Bash脚本!)如何检测远程SSH服务器的操作系统和CPU体系结构,ssh,operating-system,Ssh,Operating System,我有一个通过SSH连接到远程机器的程序。我想在那台机器上上传并运行一个二进制文件。为了做到这一点,我需要知道它是什么操作系统(我将支持Linux、Mac,可能还有Windows),以及什么样的CPU体系结构(我可能只支持x86_64,但如果可能的话,最好能够检测到其他操作系统并打印出合理的错误) SSH协议本身似乎没有提供任何此类信息。有没有一种简单、可靠的方法可以做到这一点?使用尽可能少的黑客(没有毛茸茸的Bash脚本!) 我能想到的最好的办法是尝试运行uname-s-m,以及任何与Windo
我能想到的最好的办法是尝试运行
uname-s-m
,以及任何与Windows等效的程序,并解析结果。SSH协议除了其协议版本之外,不提供任何有关远程系统的信息。但是,供应商通常会在协议字符串中包含字符串。例如,如果您执行nc gitlab.com 22