c - 如何以编程方式在 C/C++ 跨平台中创建 ssh 隧道?

标签 c windows linux ios ssh

我需要通过 TCP 连接到防火墙后的端口,可通过 SSH 隧道访问。我可以通过打开隧道并点击该端口来实现连接,但我想将此隧道构建到我的应用程序中。

此外,我希望能够通过在服务器上使用授权 key 来提供自动登录

这必须在以下平台上工作(按重要性排序)

  • iOS(最棘手,因为我不能像在其他平台上那样 fork ssh 隧道)
  • 操作系统
  • Linux
  • Windows

执行此操作的简单方法是什么?显然,我不想花费大量精力,因为这不是我申请的重点。但我会重用它,所以我可能会足够关心“做正确的事”

最佳答案

但 libssh2 是 BSD 许可的并且似乎具有所需的功能

看起来:libssh2_channel_direct_tcpip_ex 将是调用

请注意,LGPL 的 libssh 是一个问题,因为在 iOS 应用程序上,您必须静态链接而不能动态链接到库。因此,使用 LGPL 库意味着我的源成为开源。

关于c - 如何以编程方式在 C/C++ 跨平台中创建 ssh 隧道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5007616/

相关文章:

node.js - 如何在 Linux 托管 NodeJS 上打开 .exe 文件

c - 如何在预处理器#if 条件中捕获未定义的宏?

C 编程 - 键入使用一次一行 I/O(fgets 和 fputs)复制文件的程序,但使用 MAXLINE 为 4

c - 在 VS 和 Xcode 中重置数组有奇怪的时间戳差异

c++ GetCurrentThemeName 为经典 Windows 主题返回空值

Windows 批处理文件 : Loop on rows and split string

c - C 程序中使用 Malloc 和 for 循环出现意外结果

windows - 适用于 Windows 的 pretty-print OCaml

php - 在 Ubuntu Server 14.04 上安装了 Nginx,但无法在 html 文件夹中创建任何文件?

java - Cordova 找不到 $ANDROID_HOME