SSH 是一种常用的远程登陆协议,通常用于各种服务器管理,SCP,SFTP 等文件传输,以及远程端口转发等功能。现在,npm 上有一个名为 ssh2-extra-ciphers 的包,可以使 SSH 连接更加安全,支持更多的密码学套件,提供了更多的选择。
安装 ssh2-extra-ciphers 包
在终端中执行以下命令,安装 ssh2-extra-ciphers 项目。
npm install ssh2-extra-ciphers --save
使用 ssh2-extra-ciphers 包
在我们的项目中需要使用 ssh2-extra-ciphers 模块时,我们需要引入它。
const ciphers = require('ssh2-extra-ciphers');
ssh2-extra-ciphers 将新密码学套件添加到 ssh2 中,并允许我们对密码选项进行更细粒度的控制。我们可以在 ssh2 的 options 中使用以下 ciphers 选项来选择密码套件。
-- -------------------- ---- ------- ----- --- - ---------------- ----- ---------- - - ----- ---------------- ----- --- --------- ------- --------- ----------- ----------- - ---- ------------ ------- --------------- ----- ------------ - -- ----- ------- - --- ------ ---------------------------- ------------------- ---------- - ------------------- ------------- ------- - -- ----- ----- ---- ------------------ -------------- ------- - ------------------- -- ----- -- ----- - - ---- - -- ------- - - -------- -------------- ------------- -------------- - -------------------- - - ------ -------------------- -------------- - -------------------- - - ------ --- --- -----------------------
ciphers 变量
ssh2-extra-ciphers 暴露了三个常量变量:kex,cipher 和 hmac。
ciphers.kex
kex 常量定义了所有支持的 ssh2 密钥交换算法。默认情况下,ssh2-extra-ciphers 增加了 curve25519-diffie-hellman-sha256 算法。
[ 'curve25519-sha256', 'curve25519-sha256@libssh.org', 'diffie-hellman-group-exchange-sha256', 'diffie-hellman-group-exchange-sha1', 'diffie-hellman-group14-sha1' ]
ciphers.cipher
cipher 常量定义了所有支持的 ssh2 密码加密算法。默认情况下,ssh2-extra-ciphers 增加了 chacha20-poly1305@openssh.com 算法。
[ 'aes128-ctr', 'aes192-ctr', 'aes256-ctr', 'aes128-gcm', 'aes256-gcm', 'chacha20-poly1305@openssh.com' ]
ciphers.hmac
hmac 常量定义了所有支持的 ssh2 密码消息认证码算法。默认情况下,ssh2-extra-ciphers 增加了 hmac-sha2-256-etm@openssh.com 算法。
-- -------------------- ---- ------- - ------- --------- --------- ---------- ------------ ------------ ---------------- ---------------- -------------------------------- -------------------------------- ---------------------------- --------------------------- ------------------------------- ----------------------------- -
总结
ssh2-extra-ciphers 包可以帮助我们更安全地处理 SSH 连接,支持更多的密码学套件,提供了更多的选择。如果您已经在使用 ssh2,并希望提供更多的安全选项,则 ssh2-extra-ciphers 包是您的最佳选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600670a78ccae46eb111f2a8