问题标签 [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 回答
951 浏览

c++ - C++ 使用 libssh 库通过 SSH 检索数据失败

我正在尝试从远程服务器获取稍后将替换的命令“df”的输出:

编译器没有显示任何错误,但是我运行程序时没有结果,我检查了远程服务器的 syslog,发现以下行:

sshd [12794]:dispatch_protocol_error:类型 90 seq 3

请告知可能是什么问题,

谢谢你。

0 投票
0 回答
689 浏览

c++ - Libssh SFTP download inside a thread crashes on sftp_read

I'm using the libssh library in MFC C++, specifically the SFTP wrapper. I have code working when not using threading, but I want to use AfxBeginThread to allow user action to continue.

I have confirmed I'm passing the exact same filenames and target save paths using the thread or not - I've tested this by hardcoding the file to save and the destination to save directly in BeginDownload().

Is there a specific way the SFTP wrapper for the libssh must be used to let the download perform within a thread? I would like to allow users to download multiple files at the same time from the same instance of the ssh objects, and just launch a new thread each time a file needs to be downloaded.

Here is what I'm using for the actual downloading. m_sftp_sesssion is my sftp_session object created upon logging in.

Here is my login method where my libssh objects are being set in member variables for later use. Included is a commented line calling my BeginDownload. Calling it outside a thread (i.e. clicking a login button) does work.

Here is what I'm using to call the exact same function via a thread

And the method being ran via the above:

0 投票
1 回答
613 浏览

windows - ssh 多线程服务器在 ssh_bind_accept 中仍然被阻塞

我使用 libssh 5.5 实现了一个 SSH 服务器。在端口 22 上运行一个连接到服务器的 ssh 客户端,一切正常。当我尝试连接第二个客户端时出现问题(我使用 PUTTY ssh 终端作为客户端)。ssh_bind_accept 中等待客户端连接的服务器线程没有被激活,新打开的(第二个)终端显然已经“死”了(第一个打开的终端正常工作)。

我想知道是否有一些重要的东西需要设置,我错过了。

这是我执行的调用:

基本上,我开发的服务器是基于这里的示例:How to use libssh as server?

必须支持多个客户端,我有一个监听器,当创建连接时(从 ssh_bind_accept 返回),我创建一个新线程并在那里继续 ssh 连接。分叉后,我创建了新的绑定和会话,并让自己等待 ssh_bind 接受。问题是打开第二个终端不会导致 ssh_bind_accept 返回。

0 投票
1 回答
113 浏览

libssh - libssh 中 ssh_get_issue_banner() 失败的含义

当我在 libssh 下调用 ssh_get_issue_banner() 时,即使“ssh -vvv”显示了无数的欢迎消息,我也会返回 NULL(失败)。为什么会这样?

0 投票
1 回答
1569 浏览

c - C: 我可以用 libssh 转发外部应用程序的端口吗?

我正在我的应用程序中为 xen VM 实现 VNC 连接。为了连接,我必须转发端口,因为 XenServer 只接受本地连接。我这样做:

之后,可以将我的 VNC 连接到具有相应端口的 localhost。但是我必须经常重新连接到不同的主机,并且使用 bash 不是一个好主意,因为我也有一个 windows 版本。安装 ssh-client 并不总是可行的。
我阅读了 http://api.libssh.org/stable/libssh_tutor_forwarding.html 并尝试对其进行测试。

根据状态创建隧道本身。但我看不到通过 netstat 监听的端口。我做错了什么,有可能吗?

更新:

这是使用 libssh 似乎可以正常工作的结果代码

0 投票
1 回答
515 浏览

libssh - libssh v0.6。服务器为 SSHV1 并使用 DES 时的超时连接

我正在尝试连接到 SSHV1 服务器(DES),所以我使用了最新的 v0.6rc1。

但总是收到以下错误消息:

任何人都知道发生了什么,或者是否有另一种解决方案可以使用 DES 连接到 sshv1?

0 投票
1 回答
995 浏览

reference - ../src/libssh.so.4.3.0:未定义对“dlopen”的引用

在 C 上为 ssh 调用安装 libssh。Ubuntu
13.04
apt-get install gcc --fine
apt-get install cmake -fine
wget openssl-1.0.1e.tar.gz --fine
tar -xzvf openssl-1.0.1e.tar.gz --fine
./config --prefix=/usr/local --openssldir=/usr/local/openssl --fine
make --fine
make test --fine
make install --fine
wget zlib-1.2.8.tar。 gz --fine
./configure; make test --fine
make install --fine
apt-get install dev-essential
now to install libssh.org
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug .. --fine
-- C 编译器标识为 GNU 4.7.3
- - 检查工作的 C 编译器:/usr/bin/cc
-- 检查工作的 C 编译器:/usr/bin/cc -- 工作
-- 检测 C 编译器 ABI 信息
-- 检测 C 编译器 ABI 信息 - 完成
-- 执行测试 WITH_FPIC
-- 执行测试 WITH_FPIC - 成功
-- 执行测试 WITH_STACK_PROTECTOR
-- 执行测试 WITH_STACK_PROTECTOR - 成功
-- 找到 ZLIB: /usr/local/include
-- 找到 PkgConfig: /usr/bin/pkg-config (找到版本“0.26”)
-- 检查模块 'openssl'
-- 找到 openssl , 版本 1.0.1e
-- 找到 OpenSSL: /usr/local/lib/libssl.a;/usr/local/lib/libcrypto.a
-- 寻找包含文件 pthread.h
-- 寻找包含文件 pthread.h -找到
——寻找 pthread_create
-- 寻找 pthread_create - 未找到
-- 寻找 pthreads 中的 pthread_create
-- 寻找 pthreads 中的 pthread_create - 未找到
-- 寻找 pthread 中的 pthread_create
-- 寻找 pthread 中的 pthread_create - 找到
-- 找到线程:TRUE
-- 检查对于模块“heimdal-gssapi”
——未找到包“heimdal-gssapi”
——找不到 GSSAPI(缺少:GSSAPI_LIBRARIES GSSAPI_INCLUDE_DIR)
——执行测试 WITH_VISIBILITY_HIDDEN——
执行测试 WITH_VISIBILITY_HIDDEN——成功 ——
寻找 argp.h——
寻找 argp.h - 找到
-- 寻找 pty.h
-- 寻找 pty.h - 找到
-- 寻找 termios.h
-- 寻找 termios.h - 找到
-- 寻找 unistd.h
-- 寻找 unistd.h - 找到
-- 寻找 openssl/aes.h
-- 寻找 openssl/aes.h - 找到
-- 寻找 openssl /blowfish.h
-- 寻找 openssl/blowfish.h - 找到
-- 寻找 openssl/des.h
-- 寻找 openssl/des.h - 找到
-- 寻找 openssl/ecdh.h
-- 寻找 openssl/ ecdh.h - 找到
- 寻找 openssl/ec.h
- 寻找 openssl/ec.h - 找到
- 寻找 openssl/ecdsa.h
- 寻找 openssl/ecdsa.h - 找到
- 寻找 strncpy
-- 寻找 strncpy - 找到
-- 寻找 vsnprintf
-- 寻找 vsnprintf - 找到
-- 寻找 snprintf
-- 寻找 snprintf -- 找到
-- 寻找 poll
-- 寻找 poll -- 找到
-- 寻找 select
-- 寻找 select -- 找到
-- 寻找 getaddrinfo
-- 寻找 getaddrinfo -- 找到
--正在寻找 ntohll
-- 正在寻找 ntohll - 未找到
-- 正在寻找 htonll
-- 正在寻找 htonll - 未找到
-- 在 rt 中
寻找 clock_gettime -- 在 rt 中寻找 clock_gettime - 已找到
-- 在 util 中寻找 forkpty
-- 正在寻找for forkpty in util - 找到
- 寻找 cfmakeraw
- 寻找 cfmakeraw - 找到
- 寻找 strtoull
- 寻找 strtoull - 找到
-- 正在寻找 __strtoull
-- 正在寻找 __strtoull - 未找到
-- 正在执行测试 HAVE_GCC_THREAD_LOCAL_STORAGE
-- 正在执行测试 HAVE_GCC_THREAD_LOCAL_STORAGE - 成功
-- 正在执行测试 HAVE_MSC_THREAD_LOCAL_STORAGE
-- 正在执行测试 HAVE_MSC_THREAD_LOCAL_STORAGE - 失败
-- 正在
执行测试 HAVE_GCC_MEMORY_PROTECTION_成功
--正在执行测试 HAVE_PRO - 检查系统是否为大端
- 搜索 16 位整数
- 寻找 sys/types.h
- 寻找 sys/types.h - 找到
- 寻找 stdint.h
- 寻找 stdint.h - 找到
-- 寻找 stddef.h
-- 寻找 stddef.h - 找到
-- 检查 unsigned short 的
大小 -- 检查 unsigned short 的大小 - 完成
-- 使用 unsigned short
-- 检查系统是否为大端 - 小端
-- 找不到 Doxygen (缺少:DOXYGEN_EXECUTABLE)
-- CXX 编译器标识是 GNU 4.7.3
-- 检查工作的 CXX 编译器:/usr/bin/c++
-- 检查工作的 CXX 编译器:/usr/bin/c++ -- 工作
-- 检测 CXX 编译器 ABI 信息
-- 检测 CXX 编译器 ABI 信息- 完成
-- **************************************************
-- ********** libssh 构建选项: **********
-- zlib 支持:ON
-- libgcrypt 支持:OFF
-- SSH-1 支持:OFF
-- SFTP 支持:ON
-- 服务器支持:开
-- GSSAPI 支持:0
-- Pcap 调试支持:开
-- 使用静态库:关
-- 单元测试:关
-- 客户端代码单元测试:关
-- 公共 API 文档生成
-- 基准测试:关闭
-- ************************************************
-- 正在配置done
-- 生成完成
-- 构建文件已写入:/root/libssh/libssh-0.6.0rc1/build
****现在当我尝试运行
make 或 make install****
扫描目标 ssh_shared 的依赖项
[ 1%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/agent.co
[2%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/auth.co
[ 4%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/base64.co
[ 5%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/buffer.co
[ 6%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir /callbacks.co
[ 8%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/channels.co
[ 9%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/client.co
[ 10%] 构建 C 对象 src/CMakeFiles /ssh_shared.dir/config.co
[ 12%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/connect.co
[ 13%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/dh.co
[ 14%] 构建 C对象 src/CMakeFiles/ssh_shared.dir/ecdh.co
[ 16%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/error.co
[ 17%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/getpass.co
[ 18%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/init.co
[ 20%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir /kex.co
[ 21%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/known_hosts.co
[ 22%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/legacy.co
[ 24%] 构建 C 对象 src/CMakeFiles /ssh_shared.dir/libcrypto.co
[ 25%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/log.co
[ 26%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/match.co
[ 28%] 构建 C对象 src/CMakeFiles/ssh_shared.dir/messages.co
[ 29%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/misc.co
[ 30%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/options.co
[ 32%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/packet.co
[ 33%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir /packet_cb.co
[ 34%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/packet_crypt.co
[ 36%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/pcap.co
[ 37%] 构建 C 对象 src/CMakeFiles /ssh_shared.dir/pki.co
[ 38%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/poll.co
[ 40%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/session.co
[ 41%] 构建 C对象 src/CMakeFiles/ssh_shared.dir/scp.co
[ 42%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/socket.co
[ 44%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/string.co
[ 45%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/threads.co
[ 46%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir /wrapper.co
[ 48%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/pki_crypto.co
[ 49%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/sftp.co
[ 50%] 构建 C 对象 src/CMakeFiles /ssh_shared.dir/sftpserver.co
[ 52%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/server.co
[ 53%] 构建 C 对象 src/CMakeFiles/ssh_shared.dir/bind.co
[ 54%] 构建 C对象 src/CMakeFiles/ssh_shared.dir/gzip.co
链接 C 共享库 libssh.so
[ 54%] 构建目标 ssh_shared
扫描目标 ssh_threads_shared 的依赖关系
[ 56%] 构建 C 对象 src/threads/CMakeFiles/ssh_threads_shared.dir/pthread.co
链接 C 共享库 libssh_threads.so
[ 56%] 构建目标 ssh_threads_shared
扫描目标 exec 的依赖关系
[ 57%] 构建 C对象示例/CMakeFiles/exec.dir/exec.co
[58%] 构建 C 对象示例/CMakeFiles/exec.dir/authentication.co
[60%] 构建 C 对象示例/CMakeFiles/exec.dir/knownhosts.co
[61 %] 构建 C 对象示例/CMakeFiles/exec.dir/connect_ssh.co
链接 C 可执行文件 exec
**../src/libssh.so.4.3.0:未定义对 `dlopen'
../src/libssh.so 的引用。 4.3.0:未定义对“dlclose”的引用
../src/libssh.so.4.3.0:未定义对“dlerror”的
引用 ../src/libssh.so.4.3.0:未定义对“dlsym”的引用
../src/libssh.so.4.3.0 : 未定义对 `dladdr' 的引用**

0 投票
1 回答
3024 浏览

c++ - 致命错误:libssh.h:没有这样的文件或目录 NETBEANS

我有那个代码,并且在编译没有出现 Libssh.h 的致命错误时,但是当我在 libssh.h 包含指令上进行 SHIFT+CLICK 时,我会跳转到已经存在并已安装的文件。

我已将它包含在用于 C++ 编译的 Netabeans 选项中。

有任何想法吗?

问候。

0 投票
2 回答
7371 浏览

windows - Windows 上的 Hydra 出现“[错误] 编译时不支持 LIBSSH v0.4.x,模块不可用”

尝试使用 THC-HYDRA 运行以下查询后:

我得到这个回应:

我从 libssh.org 下载了 LIBSSH 并安装它无济于事。互联网似乎没有答案,但我可以看到其他人也问过同样的问题。

非常感谢,用户。

0 投票
2 回答
129 浏览

networking - SSH 协议可以用作安全的通用数据端口吗?

我正在编写一个客户端/服务器程序,它需要在两台机器之间创建一个安全的网络管道,并使用证书来识别它们。SSH 协议似乎与此完美匹配——其内置的安全性、对双方身份验证的支持以及成熟度是一大优势。它还可以通过使用一个开放连接来连接多个通用端口来复用连接。

这个想法是创建一个永远在线的连接(这些程序在客户端和服务器之间有一条专用线路),并在我需要时打开一个端口。SSH协议可以这样使用吗?我将如何将 libssh 合并到我的程序中以支持它?