问题标签 [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 投票
0 回答
255 浏览

c - 在一个程序中运行两个套接字应用程序

我有两个 C/C++ 套接字程序,比如说serverand ,它们都通过andclient相互通信。当我在 localhost 的两个独立终端上运行这两个程序时,整个流程工作正常(即通信、读取、写入)。为了避免手动启动程序,我在我的服务器程序中使用。但是,这样做并不能像两个独立的终端那样给我正确的结果。我确实在作业监视器中看到并运行,但两者之间的通信似乎从未发生过。可能是什么问题呢?readwriteclientsystem(exec_cmd_to_run_client_program)serverclient

我还尝试libsshserver程序中使用 ssh 库来打开一个新的 ssh 会话并发送执行命令来运行client程序。我再次看到与系统调用相同的结果。这两个程序都出现在工作监视器中,但从未发生过沟通。我错过了什么?

0 投票
2 回答
8473 浏览

c - 如何将 libssh 包含到我的项目中

我已经按照说明安装了 libssh,即使一切似乎都正常,我的编译器仍然在“#include”行中返回错误“找不到文件”。我猜它与目录或链接有关(我在下载它的同一个文件夹中有“make install”)但我不知道我应该把它放在哪里,所以我可以在任何项目中#include 它。

这就是我安装它的方式:我下载了它并将其解压缩到我的桌面(Mac)上的文件夹“libssh”中。

然后我做了

最后:

然后在我的程序中,我有:

XCode 返回:“找不到 libssh/sftp.h 文件”。我尝试将桌面中的 libssh 文件夹添加到项目中,但我仍然遇到类似的问题。

我想我应该(以某种方式)将它安装到 /usr/include 文件夹,以便任何项目都可以使用它(如 pthread 或许多其他项目),但我不知道该怎么做。

如果我在 /usr/include 中包含任何其他文件,它可以正常工作(例如),但是当我 #include 它返回文件未找到时,即使我 cd 到 /usr/include/libssh 文件 libssh.h 确实存在。

这是非常简单的示例代码:

0 投票
0 回答
229 浏览

linux - libssh:ssh_userauth_none 总是返回 SSH_AUTH_ERROR

在我ssh_userauth_none调用之前使用的 ssh 客户端中ssh_userauth_list()。但它总是返回SSH_AUTH_ERROR。当我试图找出使用它的错误原因时,ssh_get_error()它说Socket error: disconnected

我在其他 linux 机器(Ubuntu)上使用了相同的代码,它工作正常。但是当我在基于 CentOS linux 的嵌入式机器上尝试它时,它总是失败并显示错误-SSH_AUTH_ERROR

我是否缺少ssh_config文件中的任何字段,这些字段使任何身份验证都无法工作?

还是与某些用户名/路径问题有关?

0 投票
0 回答
250 浏览

c++ - 如何打开一个通道,而不是在 libssh 中执行几个不同的命令?

例如,我想打开一个会话和一个频道,然后执行不同的命令。我有 InitializeSSHSession 和 Initialize SSH 通道方法可以在下面看到。

总的来说,我正在初始化会话并获得这样的频道:

接着

没关系,它可以正确执行,但是当我想执行另一个命令时它没有执行,我应该返回进程的开始,首先初始化会话并再次获取通道。

这不是每个命令的好解决方案。是否可以在初始化会话后执行此操作,而不是为每个命令一次又一次地使用它?

0 投票
1 回答
719 浏览

c - 使用 libssh 打开到 localhost 的通道

我正在开发一个程序,该程序创建一个到中间人服务器的反向 SSH 隧道,以便本地网络中的计算机仍然可以从该本地网络外部访问,但无法直接连接到该计算机。我为此选择了 libssh 库,但在打开到 localhost 的通道以将传入数据转发到本地应用程序时遇到问题。打开 SSH 会话并请求将数据转发到本地计算机似乎工作正常。但是,我无法打开到 localhost 的通道来从本地应用程序读取数据和向本地应用程序写入数据。我目前尝试打开与 localhost 的连接的方式:

我的程序没有退出,所以设置了 SSH_OK。然而,日志说连接被拒绝。并且有一个运行在端口 5900 上的 VNC 服务器。我可以看到连接请求进来了。所以我很确定问题来自与 localhost 的连接。我真的很感激任何建议/提示。

我在 Windows 10 上使用 libssh 0.7.2 并使用 msvc 进行编译。

0 投票
1 回答
969 浏览

c++ - 如何在 Makefile 中链接 libssh 库

当我尝试编译我的测试程序时出现以下错误

在我的制作文件中,我有:

感谢帮助。(我真的很讨厌 C/C++...)

0 投票
2 回答
605 浏览

c++ - 如何使用 libssh 获取客户端 IP 地址

我正在使用 libssh 制作自己的 ssh 服务器(某种蜜罐)。我想将已连接客户端的 IP 地址保存到我的日志文件中。如何获取此 IP 地址?用 c++ 编程。提前谢谢各位!

0 投票
1 回答
285 浏览

c++ - Libssh2:防止后台任务被杀死

我正在编写一个程序,该程序使用libssh2库通过 SSH 登录到另一个系统。登录后,我使用以下命令执行命令:

该命令执行正常。但是,一旦我关闭通道,运行的进程就会被终止。在我的情况下,命令(执行二进制可执行文件)将运行很长时间,我的程序不能等待它终止。我尝试将以下命令全部发出相同的结果(关闭通道后进程仍然被终止):

此外,我已经观察到libsshlibssh2的这种行为。我缺少一些选项或命令吗?

提前致谢。

0 投票
1 回答
336 浏览

c++ - libssh crypt_set_algorithms2 错误

大家好,我正在尝试在 Windows 应用程序(我编写的程序)和 ssh 服务器之间建立简单的 ssh 连接。在我的代码中,我使用 libssh,但出现类似错误:crypt_set_algorithms2: no crypto algorithm function found for 3des-cbc

我正在使用的代码是:

0 投票
2 回答
32005 浏览

c++ - 如何用c++建立一个简单的ssh连接

我正在尝试制作一个将连接到 ssh 服务器(我的笔记本电脑)的 c++ 程序。服务器没问题,因为我可以通过 putty 连接。虽然到目前为止我写的程序不能。在我的代码中,我使用库 libssh.h 并使用 Visual Studio 2015 进行开发。我得到的错误是:crypt_set_algorithms2: no crypto algorithm function found for 3des-cbc 到目前为止我还没有找到任何东西,所以我希望你帮助。我使用的代码: