问题标签 [libssh]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 将静态库附加到 iphone/ipad 应用程序
将静态库包含到 iPhone 或 iPad 应用程序中的最佳方法是什么?
我可以选择
- 编译提供正确平台的库并使用实用程序构建库文件,
ar
然后将其作为框架添加到项目中 - 包括库 .c/.h 的源代码并将它们与应用程序一起编译
第一种方法似乎更简单,因为我不关心管理我想要包含的库的所有特定设置,但是如何为 iPhone 和 iPad 创建库并允许 xcode 在链接时使用正确的库?
第二种方法似乎更复杂,因为 xcode 将负责编译我的应用程序和库(我想使用不同的设置)那么我应该怎么做?我可以轻松地添加 lib 的源代码,但我必须包含 make 脚本以允许 xcode 使用它们以正确的方式构建。
关于如何进行的任何建议?我要包含的库是libssh。(我知道这个库,当然已经在 iPhone 上编译并成功尝试过了)
提前致谢。
c++ - 在 linux 上编译外部库的问题
所以我试图在 linux 上编译 libssh2 库,但是当我尝试编译示例时,它会出现很多错误,即使我包含了它要求的头文件,它仍然会要求它。以下是错误消息和结果消息:
这是新的错误:
c - libssh2 通道 SSL BIO 使用情况
我正在为自己的娱乐编写一个小型 ftp 项目,假设它能够做 4 件事:
- 直接连接到 ftp
- 使用 SSL(包装器)直接连接到 ftp
- 通过 ssh 隧道连接到 ftp
- 通过 ssh 隧道连接到具有 SSL 的 ftp。
我正在用普通 C(unix,在这种情况下并不重要)编写我的程序,使用标准库作为 1 和 2,使用 libssh2 作为 3 和 4,除了 OpenSSL 用于 2 和 4。
我可以让 1-3 个工作,但不是 4 个。这就是我所在的位置:
- 通过打开一个套接字到主机:端口,连接,从套接字写入/读取来完成。
- 通过打开一个套接字到主机:端口,连接,写入“AUTH SSL”,使用来自先前套接字的 BIO 启动一个 SSL 对象 -> SSL_connect()、SSL_read()、SSL_write()。
- 通过在目标和本地主机之间打开一个隧道来完成(尽管我不确定我在我的 approac 中使用本地主机绑定:)
就像是:
然后我写入/读取该通道(libssh2_channel_read()) - 正如我所看到的,它给出了以下流程:纯文本 - > 通过 ssh 发送 - > 从 ssh 主机将纯文本传递到目标。出于 3. 的目的,这很好并且可以完成工作。
现在,对于 4。我被卡住了,因为我(试图保持简单)需要以某种方式将此通道变成一个套接字。所以我看到它的方式有两个选择:
- 一个。制作一个伪套接字,每次我需要读/写时,我从通道读/写,将其发送/检索到套接字中,并让 SSL_connect(pseudo_socket) 与我的伪套接字通信,每次接收 ssl_write 发送的内容,将其发送到频道,反之亦然。
或者
- 湾。设置一个 BIO 缓冲区(有更多的 BIO 功能,我无法理解;文档并没有完全有帮助)并以某种方式读/写它。
理想情况下,我会选择 2,原因是:由于我的项目是用 C 编写的,因此在执行其他代码时维护一个套接字读/写将变得比我想要的要复杂一些。
然而,B。给出一个问题:我担心握手会如何工作;特别是我担心我最终会与 localhost 而不是 remotehost 握手。
总结一下我的问题:我可以通过通道在 SSL 中读/写(在其周围放置一个包装器),以便 4. 的流程变为:纯文本 -> SSL(明文) -> 通过 ssh -> 提供 SSL (明文)从 ssh 主机到目标主机?
有点长,但我希望它是可以理解的。如果没有,请告诉我,我会澄清的。从谷歌搜索/搜索stackoverflow看来,是我和一个使用mysql的人遇到了同样的问题,而且答案有限。
非常感谢任何输入!
- 詹姆士
linux - libssh2_channel_close 将被阻塞,直到远程命令退出
我使用 libssh2 登录远程计算机,然后调用 libssh2_channel_exec 执行守护程序,守护程序将选择一个可用的 tcpip 端口并将选择的 prot 打印到控制台(stdio)。然后,守护进程将监听传入连接的端口。在这些步骤之后,客户端将通过“libssh2_channel_read”从 stdio 读取选定的 tcp 端口。我可以得到正确的值。但问题是:当我关闭 libssh2 通道(libssh2_channel_close())时,程序将被阻塞,直到远程程序退出。有什么方法可以在不关闭远程程序的情况下关闭频道?因为我仅将 ssh 用于登录名和可用的 prot 编号,所以这就够了。
另外,远程程序使用Qt的QCoreApplication,打印出可用的prot后,会进入app.exec()的事件循环响应客户端,所以打印完端口号后不能立即退出。
iphone - 将静态 libssh2 库编译为 i386 时,它始终返回 x86_64 库
现在已经为此工作了几个小时,因此任何见解都将不胜感激。
我正在尝试为 OS X 上的 iPhone 模拟器编译 libssh2(我已经为设备成功编译了它)。
我正在使用以下环境变量和命令:
生成的 dylib 显示为 x86_64,当尝试在 iPhone 应用程序中使用静态库 .a 文件时显示为 libssh2.a,该文件是为不受支持的文件格式构建的,该文件格式不是所链接的体系结构 (i386)。
libgcrypt 和其他必需的库都已编译,没有问题。
提前致谢!
iphone - 谁可以为 iPhone 构建 libssh2.a
谁能为 iPhone 构建一个 libssh2.a
这是关于交叉编译的东西 我完全不知道如何正确设置它
我要使用的是 iPhone 上的 sftp 客户端
有人这样做吗?你能分享一下吗?
iphone - armv6和i386有什么区别?
我正在尝试将 libssh2.dylib(由 Matthew Wilkinson 使用来自http://www.libssh2.org的 libssh2 库编译的第 3 方库)链接到我的 xcode 项目,但是当我尝试以下代码时:
这是我得到的错误:
当我尝试任何 libssh2 API 时出现此错误。任何人有任何线索的问题是什么?这些是我链接到项目的文件:
我还将 libssh2.dylib 文件链接到框架,并将构建选项卡上的“搜索头文件”的递归路径添加到文件 libssh2.a、libgcrypt.a、libgpg-error.a。
iphone - Dyld:库未加载
我正在尝试将库 libssh2.1.dylib 链接到我的 iPhone Xcode 项目,但是当我尝试链接它时出现此错误。如果我不将此添加为框架,则会收到 Symbols not found 错误。现在 /Users/Matt/Documents/Development/iPhoneApps/Portscanner/lib/libssh2.1.dylib 不是该文件的正确路径。我从互联网上下载了图书馆及其作者计算机的路径。我的文件位于完全不同的地方。如何更改路径参考?这是我得到的错误:
php - phpseclib 与 libssh2
在我的一个项目中,我将使用 PHP 通过 SSH 远程连接许多服务器。它有两种解决方案,phpseclib和基于 libssh2 库的ssh2 PECL Extension for PHP。
那么任何人都可以比较两者并提及它们的优缺点等吗?
iphone - 为 iPhone 编译 libssh2 失败
目前我正在尝试编译 libssh2 以在 iPhone 上运行。
在我的研究中,我发现了如何编译它的那些说明。但是当我尝试它时,我总是得到
configure: error: C preprocessor "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp" fails sanity check
有什么想法有什么问题吗?或者任何已经编译过 libssh2 的人都可以为我上传编译过的文件吗?