问题标签 [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.

0 投票
1 回答
204 浏览

linux - 如何使用 libssh 读取输出行

在 ssh cli 中,我可以:

它现在会显示进度,例如:

但是在 libssh 中,当我运行时

控制台中没有任何输出显示,是否有 ssh_channel_readline 可以做到这一点?

0 投票
2 回答
160 浏览

c++ - 为什么使用 XXXX_new 和 XXXX_free 而不是 new 和 delete?

在阅读libssh 库时,我看到他们特别说

libssh 遵循 allocate-it-deallocate-it 模式。使用 xxxxx_new() 分配的每个对象都必须使用 xxxxx_free() 释放

这是因为它是一个 C 库而不是一个不存在 new 和 delete 的 C++ 库,还是忘记 new 和 delete 并使用 xxxx_new 和 xxxx_free 模式手动创建和删除对象是一种常见的做法?如果这是一种常见做法,那么它比 new 和 delete 以及被调用的构造函数和析构函数有什么好处?

<a>[编辑]为那些询问的人添加了我在“libssh 库”上将其作为标签阅读的链接。

0 投票
0 回答
774 浏览

c++ - libssh 和多线程

我想知道 libssh 是否支持多线程应用程序。在我的 C++ 代码中,我创建了一个 SSH 会话,它将在多个线程之间共享。每个线程都请求一个 shell,运行一个命令并在 while 循环中调用 ssh_channel_read_timeout 以接收所有输出消息。libssh 是否支持这种情况?

我找到了这个文档,但我想知道文档是否是最新的。

0 投票
1 回答
338 浏览

c - 使用 C 程序和 libssh 从远程计算机获取 scp .tar 文件

我编写了一个代码,它使用 libssh scp API 从远程设备读取文件。

我有一个特定的要求,我想从远程设备 scp 一个 .tar 文件。我能够将 .tar 内容读入缓冲区,但我不确定如何从该缓冲区中创建 .tar 文件。

任何帮助,将不胜感激。

谢谢。

代码片段:

0 投票
0 回答
1726 浏览

c - 在 C 程序中使用 libssh 进行密钥认证

我想使用 libssh 登录远程设备,而不在我的代码中指定密码。我已经测试过密码验证,它工作正常。我尝试了许多 libssh 的密钥身份验证 API 组合,但它似乎不起作用。

对于密钥认证,我写了这个函数:

现在,如果客户端计算机的公钥存在于服务器的“authorized_keys”文件中,则此机制有效,否则服务器发送拒绝访问响应。我应该如何将客户端的公钥从这个程序复制到服务器?

谢谢。

0 投票
1 回答
1435 浏览

c - 使用 NMake 在 Windows 中编译 libssh2:不生成静态库

我正在尝试使用 Visual Studio nmake 在 Windows 下编译 libssh2。我正在生成一个共享库 (DLL),但没有生成一个静态库 (LIB)。

我已经阅读了他们的文档数小时,但没有提到生成静态库。通常,我假设它会与 DLL 一起生成,但事实并非如此。

命令行如下所示:

0 投票
1 回答
740 浏览

c++ - 在 C++ 中将二进制文件复制到远程位置

我正在尝试将本地机器上的 hdf5 二进制文件复制到远程计算刀片。在我的 Qt 应用程序生成所需的目录或文件后,我正在使用 libssh 将它们复制出来。使用 libssh 我可以打开一个 ssh_session,对其进行身份验证,打开一个通道并发送远程命令。

正在为每个单独的计算刀片执行此命令。在每个呼叫之间,我将关闭和打开到下一个刀片的 ssh 会话。这些文件使它成为刀片,但它们似乎已损坏。它们的文件大小完全相同。我还没有想出一种方法来比较各个字节以查看它们的损坏程度,那里的任何提示也将不胜感激。

当我在单独的测试终端程序中运行我的 ssh 复制命令时,这些文件似乎使其完好无损并且在刀片上是可读的。该问题似乎仅在从 Qt GUI 程序中移动文件时出现。

编辑:所以更深入地研究出了什么问题,远程服务器上的文件似乎大小不一样。它似乎丢失了大部分字节。最重要的是,当我逐字节检查文件的本地版本时,几乎所有字节都不同。

0 投票
2 回答
279 浏览

c++ - 尝试 libssh 身份验证时的核心转储

我正在按照教程尝试使用 libssh 打开和验证 SSH 连接,但是在 ssh_connect 之后,无论我尝试密码验证、公钥验证还是无验证,应用程序都会因核心转储而崩溃。

我在 Solaris 10 上使用 C++ 的 libssh v.0.7.3。这是重现问题的代码:

我错过了什么吗?

0 投票
1 回答
880 浏览

node.js - SFTP nodejs服务器访问错误

我正在实现基于 libssh (npm install ssh) 的 SFTP Nodejs 服务器脚本

Ubuntu 14.04,nodejs 0.10.25 在 sftp.root 目录中我有测试文件,我应该可以下载到,检查它是否在 sftp 服务器上等。

当我使用 sftp(ubuntu cmd 连接到我得到的服务器)时:

服务器输出:

无法读取目录:没有错误

但实际上是为了测试,我需要通过 lftp 使用这个服务器

我收到访问失败错误。我尝试创建文件夹 chmod 777 或标记为根组,但没有帮助。

我希望有人会调查它并帮助我弄清楚为什么会出现此访问错误,谢谢!

0 投票
0 回答
1188 浏览

c++ - 如何在 Windows 64 位和 Visual Studio 2015 Ultimate 上构建 libssh?

成功使用cmake-gui configure and generate命令生成nmake makefile后,在VS2015 x64 Native Tools命令提示符下运行nmake命令后出现此错误:

Microsoft 是否更改了有关 snprintf 功能的任何内容?

如何减轻这种情况?