在powerShell中,我可以获得有关其他系统的一些信息,例如:
Get-WmiObject Win32_OperatingSystem -computer computerName
我知道在Linux中我可以做类似的事情:
ssh computerName uptime
但这样我必须输入密码。 可以在没有通行证的情况下完成吗?对磁盘和内存等信息感兴趣,也许都在脚本中运行。谢谢
答案 0 :(得分:2)
您可以将 ssh 与已注册的 rsa密钥密码一起使用,这允许来自脚本的 ssh 命令。关注this tutorial。
配置完成后,可以通过以下方式访问所有bash命令:
ssh root@remoteHost "commands"
使用vnc来查询您的服务器也是必须的,允许您使用负载很少的图形应用程序(xauth和twm就足够了)
答案 1 :(得分:1)
正如其他人所指出的那样,你可以通过使用ssh密钥(谷歌搜索“putty ssh keys”来查找大量教程)而不必每次都输入密码进入远程系统。
但是,如果您的目的是监控远程系统,我认为您提出了错误的问题。如果您想了解有关UNIX计算机的正常运行时间,负载和其他有用的统计信息,可以选择以下几种方法:
前者(SNMP)是一个简单的协议(顾名思义),用于监控网络设备,打印机,UPS系统等。我敢打赌,即使你的家用路由器支持SNMP查询。 SNMP监控工具只通过网络发送查询并解析收到的数据。
后者(Nagios)是一个框架,具有远程服务器各个方面的监控功能,如磁盘负载,应用程序状态,性能等。它可以使用SNMP,并且总体上执行相当复杂的任务,例如确保Web服务器仍在响应特定请求,SMTP服务器正在工作,网络共享未满等等。设置它有点麻烦。第一次,但如果你有一个大型基础设施,这是必须的。
答案 2 :(得分:0)
您可以使用Hping。
这是一个面向命令行的TCP / IP数据包汇编器/分析器(界面受到启发ping)。
--tcp-timestamp
开关将“猜测”正常运行时间(详情请见Phrack Volume 0x0b, Issue 0x3f, Phile #0x01 of 0x14)。
hping3 --tcp-timestamp -S ip.remote.host -p 80
TCP时间戳不是了解远程服务器正常运行时间的唯一方法。您可以在Why uptime can be dangerous中找到更多想法/工具。