SSH连接的第三库,libssh libssh2(curl使用此库) ,两个名字很像但没有任何关系,libssh使用的LGPL 支持sshv1 sshv2 支持开发服务器/客户端. libssh2使用sshv2,支持客户端

翻译:

libssh2和libssh都提供了一个API来开发基于SSH的应用程序。

这是尝试对它们之间的差异进行一些说明。

libssh2 1.7.0

  • 许可证: 3条款BSD许可证
  • 开发:C(30218 SLOC),sh(1102 SLOC),Perl(65 SLOC),Lisp(33 SLOC),AWK(23 SLOC)
  • NUmber职能:170
  • 密钥交换方法:diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256
  • 主机类型:ssh-rsa,ssh-dss
  • 密码:aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc(rijndael-cbc@lysator.liu.se),aes192-cbc,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour ,arcfour128,无
  • 压缩方案:zlib,zlib @ openssh.com,无
  • MAC哈希值:hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-ripemd160(hmac-ripemd160@openssh.com),无
  • 身份验证:无,密码,公钥,基于主机,键盘交互
  • 频道:shell,exec(包括SCP包装器),direct-tcpip,子系统
  • 全局请求:tcpip-forward
  • 频道请求:x11,pty,exit-signal,keepalive @ openssh.com
  • 子系统:sftp(版本3),publickey(版本2)
  • SFTP:statvfs@openssh.com,fstatvfs@openssh.com
  • 线程安全:只是不要同时共享句柄
  • 非阻塞:它既可以用于阻塞,也可以用于非阻塞
  • 您的套接字:应用程序移交套接字,调用select()等。
  • OpenSSL,Libgcrypt或WinCNG(自Windows Vista以来的本机):使用其中任何一个构建

libssh 0.7.x

  • 许可证: GNU较宽松通用公共许可证
  • 开发:C(46021 SLOC),C ++(1181 SLOC),sh(186 SLOC),Python(9 SLOC)
  • NUmber职能:213
  • 密钥交换方法:curve25519-sha256@libssh.org,ecdh-sha2-nistp256,diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
  • 主机类型:ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss,ssh-rsa,ssh-dss
  • 密码:aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc(rijndael-cbc@lysator.liu.se),aes192-cbc,aes128-cbc,3des-cbc,blowfish-cbc,none
  • 压缩方案:zlib,zlib @ openssh.com,无
  • MAC哈希:hmac-sha1,无
  • 身份验证:无,密码,公钥,基于主机,键盘交互式,gssapi-with-mic
  • 频道:shell,exec(包括SCP包装),direct-tcpip,子系统,auth-agent-req@openssh.com
  • 全局请求:tcpip-forward,forwarded-tcpip
  • 频道请求:x11,pty,退出状态,信号,退出信号,keepalive @ openssh.com,auth-agent-req @ openssh.com
  • 子系统:sftp(版本3),OpenSSH扩展
  • SFTP:statvfs@openssh.com,fstatvfs@openssh.com
  • 线程安全:只是不要分享会话
  • 非阻塞:它既可以用于阻塞,也可以用于非阻塞
  • 您的套接字:应用程序移交套接字,或使用libssh套接字
  • OpenSSL或gcrypt:使用其中任何一个构建
  • 客户端和服务器支持
  • SSHv2和SSHv1协议支持
  • 支持Linux,UNIX,BSD,Solaris,OS / 2和Windows
  • 自动测试案例与夜间测试
  • 基于poll(2)或poll(2)-emulation的事件模型。

功能特征

表中的相同数据:

项目 libssh2 libssh
执照 BSD LGPL
服务器端支持 没有
GSSAPI身份验证 没有
Eliptic曲线密钥交换 没有
Eliptic Curve Hostkeys 没有
自动测试案例与夜间测试 不(可用测试)
稳定的API 大多
C兼容性 C89 C99
严格命名空间
所有功能的手册页 没有
所有功能的Doxygen文档 没有
教程 没有
SSHv1支持 没有
建立理念 Autotools和CMake CMake的

原文:

libssh2 and libssh both provide an API to develop SSH based applications.

Here's an attempt to put some light on the differences between them.

libssh2 1.7.0

  • License: 3-clause BSD License
  • Developped in: C (30218 SLOC), sh (1102 SLOC), Perl (65 SLOC), Lisp (33 SLOC), AWK (23 SLOC)
  • NUmber of functions: 170
  • Key Exchange Methods: diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, diffie-hellman-group-exchange-sha1, diffie-hellman-group-exchange-sha256
  • Hostkey Types: ssh-rsa, ssh-dss
  • Ciphers: aes256-ctr, aes192-ctr, aes128-ctr, aes256-cbc (rijndael-cbc@lysator.liu.se), aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, arcfour128, none
  • Compression Schemes: zlib, zlib@openssh.com, none
  • MAC hashes: hmac-sha2-256, hmac-sha2-512, hmac-sha1, hmac-sha1-96, hmac-md5, hmac-md5-96, hmac-ripemd160 (hmac-ripemd160@openssh.com), none
  • Authentication: none, password, public-key, hostbased, keyboard-interactive
  • Channels: shell, exec (incl. SCP wrapper), direct-tcpip, subsystem
  • Global Requests: tcpip-forward
  • Channel Requests: x11, pty, exit-signal, keepalive@openssh.com
  • Subsystems: sftp(version 3), publickey(version 2)
  • SFTP: statvfs@openssh.com, fstatvfs@openssh.com
  • Thread-safe: just don't share handles simultaneously
  • Non-blocking: it can be used both blocking and non-blocking
  • Your sockets: the app hands over the socket, calls select() etc.
  • OpenSSL, Libgcrypt or WinCNG (native since Windows Vista): builds with either

libssh 0.7.x

  • License: GNU Lesser General Public License
  • Developped in: C (46021 SLOC), C++ (1181 SLOC), sh (186 SLOC), Python (9 SLOC)
  • NUmber of functions: 213
  • Key Exchange Methods: curve25519-sha256@libssh.org, ecdh-sha2-nistp256, diffie-hellman-group1-sha1, diffie-hellman-group14-sha1
  • Hostkey Types: ssh-ed25519, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, ssh-rsa, ssh-dss, ssh-rsa, ssh-dss
  • Ciphers: aes256-ctr, aes192-ctr, aes128-ctr, aes256-cbc (rijndael-cbc@lysator.liu.se), aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, none
  • Compression Schemes: zlib, zlib@openssh.com, none
  • MAC hashes: hmac-sha1, none
  • Authentication: none, password, public-key, hostbased, keyboard-interactive, gssapi-with-mic
  • Channels: shell, exec (incl. SCP wrapper), direct-tcpip, subsystem, auth-agent-req@openssh.com
  • Global Requests: tcpip-forward, forwarded-tcpip
  • Channel Requests: x11, pty, exit-status, signal, exit-signal, keepalive@openssh.com, auth-agent-req@openssh.com
  • Subsystems: sftp(version 3), OpenSSH Extensions
  • SFTP: statvfs@openssh.com, fstatvfs@openssh.com
  • Thread-safe: Just don't share sessions
  • Non-blocking: it can be used both blocking and non-blocking
  • Your sockets: the app hands over the socket, or uses libssh sockets
  • OpenSSL or gcrypt: builds with either
  • Client and server support
  • SSHv2 and SSHv1 protocol support
  • Supports Linux, UNIX, BSD, Solaris, OS/2 and Windows
  • Automated test cases with nightly tests
  • Event model based on poll(2), or a poll(2)-emulation.

Feature by feature

The same data, in a table:

item libssh2 libssh
Licence BSD LGPL
Server-side support no yes
GSSAPI authentication no yes
Eliptic Curve Key Exchange no yes
Eliptic Curve Hostkeys no yes
Automated test cases with nightly tests no (tests available) yes
Stable API yes mostly
C compatibility C89 C99
strict namespace yes yes
man pages for all functions yes no
Doxygen documentation for all functions no yes
Tutorial no yes
SSHv1 support no yes
Build concept Autotools and CMake CMake

libssh2 和 libssh 比较相关推荐

  1. libvirt Java 实现远程管理虚拟机

    libvirt Java 实现远程管理虚拟机 from csdn.kyyee 虚拟化简介 虚拟化是将计算机的各种实体资源(CPU.内存.存储.网络等)进行抽象后呈现出来,即是将一台物理计算机分割成多台 ...

  2. hualinxu ext zbx 1.2:centos8搭建zabbix5.0(手把手 带注解)

    目录 一.实验环境 1.1 环境说明 1.2 准备工作(所有) 1.3  所涉及的软件及版本 1.3.1 zabbix体系结构 1.3.2 安装zabbix所需的软件 二.zabbix服务端安装lnm ...

  3. libssh 认证绕过漏洞(cve-2018-10933)分析

    最近出了一个libSSH认证绕过漏洞,刚开始时候看的感觉这洞可能挺厉害的,然后很快github上面就有PoC了,msf上很快也添加了exp,但是在使用的过程中发现无法getshell,对此,我进行了深 ...

  4. linux libssh2 实例

    以下是包含必备头文件 #include "libssh2_config.h" #include<libssh2.h> #include<libssh2_sftp. ...

  5. linux 交叉编译 libxml2,openssl,libssh2

    版本: libxml2-2.9.1 openssl-1.0.1e libssh2-1.4.3 linux下的开源软件的编译比较统一,一般分为如下几步 ./configure;make;make ins ...

  6. 使用libssh2连接到远程服务器

    libssh2-1.7.0.tar.gz  示例代码:libssh2-1.7.0.tar.gz\libssh2-1.7.0\example 官网示例 https://www.libssh2.org/e ...

  7. Windows VS2017 编译 libssh2 1.7.0(执行命令、文件上传、下载)

    下载安装 OpenSSL 要编译 libssh2,必须先编译好 OpenSSL 的静态库,直接从 http://slproweb.com/products/Win32OpenSSL.html 下载已经 ...

  8. #Windows库编译# libssh2

    从官网 https://www.libssh2.org/snapshots/ 下载最新版本的源码包 解压 用 VS2017 打开 libssh2\win32\libssh2.dsw(其实你可以用任何版 ...

  9. 解决ssh: no common algorithm for key exchange; client offered: [curve25519-sha256@libssh.org ecdh

    报错如下 ssh: no common algorithm for key exchange; client offered: [curve25519-sha256@libssh.org ecdh-s ...

最新文章

  1. Git的使用---版本控制
  2. 原创 | 专家对话:大数据助力健康管理面临的机遇与挑战
  3. python - 装饰器(重点,难点(比较绕))
  4. 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)
  5. 亲测:阿里云的高效云盘真没有声称那么好
  6. 【推荐系统】手写ItemCF/UserCF代码,你会吗?
  7. SCALA Linux安装:JAVA.LANG.NUMBERFORMATEXCEPTION: FOR INPUT FOR INPUT STRING: “0X100“
  8. Nginx内核参数相关的优化设定
  9. html在线拖拽环绕,jQuery实现html元素拖拽
  10. 角标越界 Java_【新人求助】利用占位符操作数据库是总是提示数组角标越界是怎么回事 - Java论坛 - 51CTO技术论坛_中国领先的IT技术社区...
  11. 数据新动能:帆软第四届智数大会圆满落幕
  12. mysql事务隔离级别详解_高性能MySQL-详解事务与隔离级别
  13. idea社区版使用maven运行web项目
  14. VueRouter进阶(1)-导航守卫
  15. 07到09程序员对自己工资的态度···
  16. 维修记录java_维修保养记录
  17. 青龙面板—-抖音极速版(2022.08.11)
  18. 考研英语近义词与反义词·四
  19. apicloud 使用教程
  20. Android新浪微博分页加载,Android仿新浪微博自定义ListView下拉刷新(4)

热门文章

  1. Simulink仿真---SVPWM算法
  2. [转] 前端数据驱动的价值
  3. 6款实用开源报表工具 | 码云周刊第 83 期
  4. MySQL(mysql 5.7)用户密码的管理
  5. “勒索病毒”为什么盯上了比特币?
  6. LDA基本介绍以及LDA源码分析(BLEI)
  7. Spring JdbcTemplate小结
  8. 关于资产发现-嗅探法
  9. 企业网络项目PT模拟
  10. 一天学习一点之express demo