问题标签 [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.
c - 使用 libssh 和 c lang 的 SSH 隧道
我正在尝试使用libssh
打开 SSH 隧道。
基本上,我有两个主机在路上。首先,我需要通过 SSH 连接到第一个主机(我已经完成了这部分),然后我需要从该主机通过 SSH 连接到第二台主机:
这可能libssh
吗?
我尝试使用此功能ssh_channel_open_forward
,但这只会打开 TCP 会话,而不是 ssh 会话。
c++ - 如何使用 libssh 运行 makefile?
我对 libssh (libssh.org) 有疑问。我需要在远程服务器上运行一个 makefile。我用命令“channel_request_exec”来做:
Makefile 位于根目录下:
我发送命令“make”并接收回声:
但什么也没发生(不执行编译)。
如果我用腻子做:一切正常。回声:
我该如何解决这个问题?
c++ - 如何使用 libssh 作为服务器?
我正在开发与 Web 应用程序通信的 Windows 版本的服务器应用程序。Web 应用程序最初与 Linux 服务器一起工作,并将通过 SSH 连接到 Linux 以在服务器上执行命令。我的计划是使用 Qt 构建一个 C++ 服务器来接收来自 Web 应用程序的命令,并处理它们以执行这些命令的 windows 版本。
例如,如果 Web 应用程序最初发送“echo $HOME”并收到主目录,我想在我的 Windows 服务器上接收相同的 SSH 命令,然后处理它,如果服务器配置为主目录C:\Example\,然后它会发回 C:\Example\。我的目标是对 Web 应用程序进行尽可能少的更改,而是让 Windows 服务器处理 Linux SSH 命令以执行 Windows 等效操作。
我以前从未使用过 libssh,但通过一些搜索我找到了它并读到它可以用作 SSH2 服务器。基本上我的问题是,我将如何使用 libss2 在我的 Qt 项目中创建服务器,以允许该 Web 应用程序通过 SSH 进入并发送命令。
如果您认为有比 libssh 更好的方法,请告诉我,这正是我通过搜索找到的。
更新:我发现了这个服务器示例的代码。https://github.com/substack/libssh/blob/master/examples/samplesshd-tty.c
老实说,我对此感到非常困惑。经过几个小时的谷歌搜索和代码工作后,我可能能够将其分解并理解发生了什么。但是,如果有人愿意引导我主要解释每一步发生的事情,那将不胜感激。
c++ - 使用 libssh 将“输入”发送到远程进程
我正在使用 libssh 登录终端,然后运行 ncurses 应用程序。
我正在关注本教程,一次发送一个字符:http: //api.libssh.org/master/libssh_tutor_shell.html
ncurses 应用程序使用 getstr() 等待用户输入,我的问题是当我编写输入并按 enter 时,libssh 发送 '\n' 而不是输入信号,因此 curses 应用程序崩溃。
windows - 使用 libssh 库,我遇到了 ssh_scp_read 函数的问题
现在我正在尝试将文件从服务器(Linux)下载到我的主机(Windows)。它看起来运行良好(其他功能)但是当我试图从服务器读取文件时。文件中的数据不正确。
例如)服务器文本文件:
读取文件并保存到缓冲区:
我检查了小尺寸文本文件。它运作良好。但是现在我遇到了麻烦,因为文本文件比以前大。
这是我的代码。
bash - ssh 连接到 rbash 不会获取 .profile 文件
我正在使用libssh连接到远程机器并执行命令。
连接工作正常,但问题是:在远程机器上,我连接时正在运行的 bash 是 rbash。当我发送ps | grep ungreppable_phrase
到另一台机器上执行时,输出如下:
(我从该列表中删除了 grep 命令)
所以,很明显,rbash
是远程shell。
现在,rbash 手册页告诉我们在应用任何 rbash 限制之前读取启动文件。因此,如果我的任何启动文件(/etc/profile、~/.bash_profile;~/.bash_user 或 ~/.profile)包含 的定义PATH
,则在我运行命令时该定义应该可见。特别是,如果其中一个目录中有一些可执行文件PATH
,我应该能够运行它。
这是我的 .profile 文件中的一行:
不知何故,我设法ls
在那里运行。它确实包含可执行文件。
我的 ~/.profile 是要获取的最后一个文件,它不包含任何其他文件的来源。也没有对PATH
.
但是我得到一个“找不到命令”错误(或者看起来很像的东西,回声 $? 返回 127)。
有人能告诉我为什么我的 .profile 文件在我远程登录时似乎没有来源吗?是因为 libssh 中的一些代码吗?我正在尝试探索它以查找是否有一些特殊的选项传递给 rbash,而我在上面的 grep 中看不到这些选项。
(由于我们处于 rbash 模式,我不能简单地要求更改 PATH)
非常感谢,帕斯卡
c++ - C++ Libssh -sever/client 通过局域网传输文件的例子
这里的新手基本上我正在尝试构建一个通过局域网传输文件和文件夹的服务器/客户端文件传输应用程序。是否有人有任何我可以查看的使用 C++ 的示例应用程序?Libssh 示例都在我已经研究过的 C 语言中。libssh 和 libssh2 有什么关系?