libssh2 和 libssh 比较
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 比较相关推荐
- libvirt Java 实现远程管理虚拟机
libvirt Java 实现远程管理虚拟机 from csdn.kyyee 虚拟化简介 虚拟化是将计算机的各种实体资源(CPU.内存.存储.网络等)进行抽象后呈现出来,即是将一台物理计算机分割成多台 ...
- hualinxu ext zbx 1.2:centos8搭建zabbix5.0(手把手 带注解)
目录 一.实验环境 1.1 环境说明 1.2 准备工作(所有) 1.3 所涉及的软件及版本 1.3.1 zabbix体系结构 1.3.2 安装zabbix所需的软件 二.zabbix服务端安装lnm ...
- libssh 认证绕过漏洞(cve-2018-10933)分析
最近出了一个libSSH认证绕过漏洞,刚开始时候看的感觉这洞可能挺厉害的,然后很快github上面就有PoC了,msf上很快也添加了exp,但是在使用的过程中发现无法getshell,对此,我进行了深 ...
- linux libssh2 实例
以下是包含必备头文件 #include "libssh2_config.h" #include<libssh2.h> #include<libssh2_sftp. ...
- linux 交叉编译 libxml2,openssl,libssh2
版本: libxml2-2.9.1 openssl-1.0.1e libssh2-1.4.3 linux下的开源软件的编译比较统一,一般分为如下几步 ./configure;make;make ins ...
- 使用libssh2连接到远程服务器
libssh2-1.7.0.tar.gz 示例代码:libssh2-1.7.0.tar.gz\libssh2-1.7.0\example 官网示例 https://www.libssh2.org/e ...
- Windows VS2017 编译 libssh2 1.7.0(执行命令、文件上传、下载)
下载安装 OpenSSL 要编译 libssh2,必须先编译好 OpenSSL 的静态库,直接从 http://slproweb.com/products/Win32OpenSSL.html 下载已经 ...
- #Windows库编译# libssh2
从官网 https://www.libssh2.org/snapshots/ 下载最新版本的源码包 解压 用 VS2017 打开 libssh2\win32\libssh2.dsw(其实你可以用任何版 ...
- 解决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 ...
最新文章
- Git的使用---版本控制
- 原创 | 专家对话:大数据助力健康管理面临的机遇与挑战
- python - 装饰器(重点,难点(比较绕))
- 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)
- 亲测:阿里云的高效云盘真没有声称那么好
- 【推荐系统】手写ItemCF/UserCF代码,你会吗?
- SCALA Linux安装:JAVA.LANG.NUMBERFORMATEXCEPTION: FOR INPUT FOR INPUT STRING: “0X100“
- Nginx内核参数相关的优化设定
- html在线拖拽环绕,jQuery实现html元素拖拽
- 角标越界 Java_【新人求助】利用占位符操作数据库是总是提示数组角标越界是怎么回事 - Java论坛 - 51CTO技术论坛_中国领先的IT技术社区...
- 数据新动能:帆软第四届智数大会圆满落幕
- mysql事务隔离级别详解_高性能MySQL-详解事务与隔离级别
- idea社区版使用maven运行web项目
- VueRouter进阶(1)-导航守卫
- 07到09程序员对自己工资的态度···
- 维修记录java_维修保养记录
- 青龙面板—-抖音极速版(2022.08.11)
- 考研英语近义词与反义词·四
- apicloud 使用教程
- Android新浪微博分页加载,Android仿新浪微博自定义ListView下拉刷新(4)