@ electerm/ ssh2 (英语)
一个叉子 斜线2 ——SSH2客户端和服务器模块以纯JavaScript为Node.js所写.
此库是专门为下列人员设计和使用的: 选手,用于Linux,Mac,Windows和Android的开源终端/ssh/sftp/ftp/telnet/serialport/RDP/VNC/Spice客户端.
安装
npm i @electerm/ssh2
其他特征
建于原版顶上 ssh2,这个叉增加了以下特性:
SM2 / SM3 / SM4(中国国家密码) 支持
全面支持中国国家密码标准(GM/T),不需要本土编译(纯JavaScript):
| 算法 | 类型 | 说明 |
|---|---|---|
sm2kep-sha3-sm3 | 密钥交换 | SM2 ECDH 与 SM3 散列键交换 |
ssh-sm2 | 主机密钥/ 签名 | SM2 与 SM3 散列签名 |
sm4-ctr, (中文(简体) ), sm4-cbc | 密码 | SM4 块密码 |
hmac-sm3, (中文(简体) ), [email protected] | 邮件 | HMAC 有 SM3 散列 |
见 SM 指南 详细情况.
SSH 证书登录
通过新的 SSH 证书认证 certificate 连接选项 :
client.connect({
host: '127.0.0.1',
username: 'admin',
privateKey: fs.readFileSync('/path/to/key'),
certificate: fs.readFileSync('/path/to/cert'), // SSH certificate
});
增强保存性
TCP 两级SO_KEEPALIVE)和SSH协议级保存器,以可靠地检测并清理已死连接.
SFTP 非UTF8 编码支持
添加一个 encode 在非UTF8编码中处理 SFTP 文件名和 shell 输出的选项( 如 GBK) :
client.connect({
// ...
encode: 'gbk',
});
其他改进和修正
- 支助
EXT_INFO信件 - 修正崩溃会话的 zlib 错误
- 在中断连接的 SFTP 信头中修正大文本
- 强制 RSA 密钥支持, 即使服务器不同意
- 不需要土建——替换
optionalDependencies经常dependencies
相关项目
| 项目 | 说明 |
|---|---|
| 选手 | 桌面应用程序( Linux, Mac, Windows) |
| 选手-网络 | 基于浏览器的版本(包括移动) |
| 选手- 网点 | Electerm-web 的嵌入器图像 |
| 在线选举器 | 公共免费在线应用 |
| 选手演示 | 在线演示 |
| 选民-地方 | 多语种支助 |
| 选手AI | 选手用户免费 AI |
| 选手与机器人 | Android 应用程序 |
许可证
麻省理工学院