【问题标题】:Creating a SSH connection in a program?在程序中创建 SSH 连接?
【发布时间】:2010-07-19 06:07:09
【问题描述】:

我正在编写一个程序(用 C 语言),其中我必须通过 SSH 连接从另一台计算机访问数据。我想知道如何在程序中创建 SSH 连接。

谢谢

【问题讨论】:

    标签: c ssh


    【解决方案1】:

    一个简单的解决方案是使用ssh 二进制文件并从您的程序中调用它。使用 pipe() 创建 3 个管道,然后使用 fork()close() 创建适当的端点(不确定是否需要),这样您就有 2 个进程,它们之间有 3 个管道。在子节点上,dup2() 指向 stdin、stdout 和 stderr 的管道端点(即 fd 的 0、1、2)和exec() ssh 命令。

    在父进程上,您现在可以与另一方交谈。使用 RSA 身份验证摆脱密码的东西。

    但可能有一些库可以连接,我不知道 ;-)

    【讨论】:

    • lol ;-) 尽管我很喜欢这个,但我认为它不应该是最佳答案。
    • 您并不严格需要close 适当的端点,但是您不能从写端读取,并且某些子节点不需要访问某些端点,所以没有理由不这样做。
    【解决方案2】:

    看看libssh。您是否尝试过自己寻找答案?您是否尝试过使用某些库但没有让它们工作?

    在寻找讲义之前尝试帮助自己总是最好的。 YMMV。

    【讨论】:

    • Stack Overflow 上的答案是讲义吗?这有点苛刻。
    • 如果事先没有尝试找到广泛(且容易)找到的信息,则可以。与您在工作或现实生活中的其他任何地方一样,至少在要求其他人提供信息之前尝试查找信息(也就是要求分发)。
    • 所以你选择 libssh 是因为它的名字?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 2015-01-25
    • 2016-02-02
    • 2019-06-17
    • 1970-01-01
    • 2013-10-06
    相关资源
    最近更新 更多