【发布时间】:2010-07-19 06:07:09
【问题描述】:
我正在编写一个程序(用 C 语言),其中我必须通过 SSH 连接从另一台计算机访问数据。我想知道如何在程序中创建 SSH 连接。
谢谢
【问题讨论】:
我正在编写一个程序(用 C 语言),其中我必须通过 SSH 连接从另一台计算机访问数据。我想知道如何在程序中创建 SSH 连接。
谢谢
【问题讨论】:
一个简单的解决方案是使用ssh 二进制文件并从您的程序中调用它。使用 pipe() 创建 3 个管道,然后使用 fork()、close() 创建适当的端点(不确定是否需要),这样您就有 2 个进程,它们之间有 3 个管道。在子节点上,dup2() 指向 stdin、stdout 和 stderr 的管道端点(即 fd 的 0、1、2)和exec() ssh 命令。
在父进程上,您现在可以与另一方交谈。使用 RSA 身份验证摆脱密码的东西。
但可能有一些库可以连接,我不知道 ;-)
【讨论】:
close 适当的端点,但是您不能从写端读取,并且某些子节点不需要访问某些端点,所以没有理由不这样做。
看看libssh。您是否尝试过自己寻找答案?您是否尝试过使用某些库但没有让它们工作?
在寻找讲义之前尝试帮助自己总是最好的。 YMMV。
【讨论】: