C 安全连接远程主机并检查

C 安全连接远程主机并检查,c,security,ssh,public-key,C,Security,Ssh,Public Key,我需要用C写一个程序来检查远程文本文件中计算机MAC地址的出现 是否有简单易用的ssh LIB允许程序连接到远程主机并检查文件是否包含某些内容 或者我应该使用system()函数在远程主机上运行ssh和简单命令 它应该是安全的,所以我可能需要使用公钥。是否可以从不同的计算机(每个计算机都有我的程序)使用相同的公钥 我需要的是检查具有给定MAC地址(或其他标识符)的计算机是否允许执行某些操作。这个操作应该是远程的,所以我可以远程启用/禁用功能。1)我不知道这是否简单,但IIRC的人就是这么做的 2

我需要用C写一个程序来检查远程文本文件中计算机MAC地址的出现

  • 是否有简单易用的ssh LIB允许程序连接到远程主机并检查文件是否包含某些内容

  • 或者我应该使用
    system()
    函数在远程主机上运行
    ssh
    和简单命令

  • 它应该是安全的,所以我可能需要使用公钥。是否可以从不同的计算机(每个计算机都有我的程序)使用相同的公钥

  • 我需要的是检查具有给定MAC地址(或其他标识符)的计算机是否允许执行某些操作。这个操作应该是远程的,所以我可以远程启用/禁用功能。

    1)我不知道这是否简单,但IIRC的人就是这么做的

    2) 是的,您可能应该通过shell脚本(或者system/popen,如果您确实需要在C程序中获得结果)的“system function”来实现这一点,因为这将为您节省大量重新实现的麻烦

    3) 公钥,是的;虽然可以在多个主机/用户上重用公钥,但这并不是一个好的安全实践;更好的做法是为每个用户/主机生成一个密钥对,然后将公钥添加到需要连接的机器上的.ssh/authorized_密钥。这意味着撤销密钥只是删除单个文本文件中的一行,而不是为多个主机重新生成密钥。然而,如果它不是安全敏感的,或者如果安全性在这个实例中并不重要(!),那么使用单个密钥可能不会太疯狂。也就是说,如果您需要多个客户端来检查单个主机上是否存在;如果没有,请更新您的问题,使其更清楚。