问题标签 [libssh2]
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.
linux - 如何使用 libssh2 重定向程序输出?
我在 Linux 环境中将 libssh2 用于 C++ 程序,到目前为止,我可以使用libssh2_channel_exec
. 但是,我想将程序的输出重定向到本地机器(即输出将通过 ssh 传输)。我想实现以下 bash 行的相同目标:
$ ssh user@remote ls > local_file.txt
我无法指定参数的> local_file.txt
部分,command
因为文件必须写入本地机器而不是远程机器。
那么,如何将远程程序的输出重定向到本地机器呢?
linux - 带有 libssh2 的 libcurl - 链接时可用的一个或多个库在运行时不可用
尝试 ./configure libcurl 7.22.0 时出现以下错误
链接时可用的一个或多个库在运行时不可用。链接时使用的库:-lssh2 -lssl -lcrypto -lrt -lz
当我使用--without-libssh2 进行./configure 时,它工作得很好。
我已采取的步骤:
顺便说一句,SSL 支持工作正常。我一定是在 libssh 上做错了什么
我也试过:
但这并没有什么不同。我不知道还能尝试什么。
c++ - 诊断 libssh2 SFTP 阻塞调用
我正在使用 libssh2 的最新 Git 树来执行一些 SFTP 工作。我正在使用非阻塞接口。
我已成功建立与 SFTP 服务器的连接、登录和传输文件。
但是,我遇到了一个问题,即对libssh2_sftp_write(sftp_handle, ptr, nread)
plain 的调用挂起。这总是在传输 237115172 字节数据后发生。
虽然有效载荷小于这个数字,但事情进展得很好。
我正在传输多个文件。我对整个事务使用单个 SSH 会话(和单个套接字)。任何人都可以提出解决这个问题的方向吗?神奇的数字 237115172 是一个提示,但它对我来说还没有任何意义。我可能做错了什么?
这是直接来自 libssh2 示例的代码:
我可以发布完整的源代码,但是它很长,而且由于它是 QT 应用程序的一部分,因此需要花费一些精力才能撕掉。
windows - 如何让线程安全的 libssh2 在 Windows 下链接?
我正在开发一个使用 libssh2 的多线程多平台基于 Qt 的程序。当几个使用 SSH 的线程同时处于活动状态时,该程序偶尔会在 crypt_encrypt() 和 libssh2_transport_write() 内部崩溃,所以我四处搜索,发现一些页面说要使多线程 libssh2 可靠地工作,我需要调用 CRYPTO_set_locking_callback(),等,在使用 libssh2 之前。
基于该建议,我将指定的回调设置调用添加到 main() 的顶部,并使其全部编译和运行,而不会在 MacOS/X 下崩溃……但在 Windows 下,我现在收到以下链接错误不知道如何解决。
Microsoft (R) Windows (R) 资源编译器版本 6.1.6723.1 版权所有 (C) Microsoft Corporation。版权所有。链接... main.obj:错误LNK2019:函数“void __cdecl do_crypto_locks_setup(void)”(?do_crypto_locks_setup@@YAXXZ)中引用的未解析的外部符号_CRYPTO_set_locking_callback main.obj:错误LNK2019:函数“void __cdecl”中引用的未解析的外部符号_CRYPTO_malloc do_crypto_locks_setup(void)" (?do_crypto_locks_setup@@YAXXZ) main.obj:错误 LNK2019:未解析的外部符号 _CRYPTO_num_locks 在函数“void __cdecl do_crypto_locks_setup(void)”中引用(?do_crypto_locks_setup@@YAXXZ) main.obj:错误 LNK2019:未解析的外部函数“void __cdecl do_crypto_locks_cleanup(void)”中引用的符号 _CRYPTO_free (?do_crypto_locks_cleanup@@YAXXZ)
有没有人知道我可能需要做什么才能在 Windows 下链接这些调用?是否需要链接其他一些 .lib 文件,或者我是否需要将特定标志传递给“perl Configure VC-WIN32”命令以启用这些功能,或者???
谢谢,杰里米
ios - 在 iOS 应用程序上使用 libssh2 更改目录“cd”
我想实现类似 Mac 的终端应用程序,但适用于 iOS。我设置了 libssh2,一切正常。
我运行“ cd Test ”命令,其中 Test 是工作目录中的一个文件夹。然后如果我运行:“ pwd ”,它会告诉我 cd 命令没有改变目录。
但是,如果我运行:“ cd Test; pwd ”,它将显示它已更改目录。
我明白为什么会这样,最好在这里解释: ssh2_exec() wont change directory :(
我的问题:解决方案是什么?我希望能够像在终端中一样运行它,就像在一个大外壳中一样,它不会在每个命令之后死掉。这可能吗?每次更改目录都会杀死用户,然后做你想做的事。为什么如果目录更改一次,在新的 cd 出现之前不会保持更改?我怎样才能做到这一点?
谢谢大家。
编辑:
这是我的方法:
c++ - 无法使用 libssh2 编译
我从他们的网站下载并安装了最新的libssh2到该位置/usr/src/libssh2-1.4.0
我试图构建示例目录中可用的示例程序(ssh2.c)之一。make
当我用from /usr/src/libssh2-1.4.0/example
as编译时
,它编译并运行得很好。然后我将程序复制ssh2.c
到不同的路径(~/Projects/precious/)
并发出命令
当我尝试运行该程序时,它会向我打招呼以下消息
我也尝试将它简单地编译为
反应都是一样的。
我也尝试编译为
但没有任何运气。请建议
php - SSH2 PHP 扩展
我一直在尝试在我的 CentOS 5.6 x64 服务器上安装 php 的 SSH 2 扩展。我从头开始启动服务器,这是我采取的步骤
- 安装和配置 APF
- 安装阿帕奇
- 安装php
- 安装mysql
- 添加 epel 存储库
- 安装 php-pear 这样我就可以使用 pecl
- 运行 yum install libssh2-devel
- 运行 pecl install ssh2-beta
- echo extension=ssh2.so>>/etc/php.ini (里面有一些额外的东西,比如安装 phpMyadmin 和 wordpress)
在此之后,我运行 php -m 来查看 php 模块并且 ssh2 未列出。我一直在寻找教程并找到了一些,但据我所知,我已经正确地完成了所有操作。谁能看到我哪里出错了。我可以提供您可能需要的任何配置文件。我也听说过 phpseclib,想知道这是否是一条更容易/更好的路线?任何帮助将不胜感激!
php - 使用 sftp 上传文件时如何修复 PHP curl 错误 CURLE_SSH (79)
我正在尝试在我的 PHP 应用程序上重现以下命令以通过 sftp 上传文件:
上面的命令工作得很好(不过,我必须在我的 ubuntu 机器上重新编译 libcurl 才能使其工作)。然而,当我尝试使用 PHP 的 curl 库时,事情对我来说并不顺利。
我正在使用的代码如下:
这会返回错误 79:CURLE_SSH (79),我不知道如何修复。你遇到过这个问题吗?你怎么修好它的?有任何想法吗?
谢谢!
php - 使用 ssh2_exec 在 PHP 脚本中转义引号
我需要一些帮助来转义这个脚本中的引号,我在上面和下面都有代码,但它与此无关,因为如果我只是发出一个 screen -d -m -S minecraft,它会创建一个很好的。任何帮助都会很棒,因为我已经尝试了一个小时,谢谢!
c - 从 libssh2 获取未定义的引用
我在我的 Ubuntu linux 上安装了 libssh2 库。编译 C 代码时,我收到此消息:
对“libssh2_session_init_ex”的未定义引用
我从他们的网站下载了 libssh2。我按照如何在我的计算机上安装它的说明进行操作,但似乎我仍然缺少一些东西。
这是我的make文件中的代码:
C 代码的包含部分:
首先十分感谢
笔记 :
我使用了这条新线:
但仍然存在相同的编译错误。顺便说一句,我被告知还要安装 libssh2-devel,但我不知道该怎么做。
谢谢