- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好的,这可能需要预先解释一下。
我目前正在使用 node-red 进行自动化项目.
我想使用 ssh 从远程服务器上传和下载文件。对于这个任务,我使用 this名为 node-red-contrib-sftpc
的 Node 红色包.我稍微重写了库,以便我可以通过移交给 Node 的有效负载移交一些用于 sftp 连接的凭据。
要建立连接 sftp.connect
ssh2-sftp-client的方法用来:
await sftp.connect({
host: node.server.host,
port: node.server.port,
username: node.server.username,
password: node.server.password});
您可以在该文档中找到您可以提供的文档
connect
带参数
hostHash
和
hostVerifier
.
documentation of the ssh2 model ssh2-sftp-client 所基于的 ,指出:
hostHash - string - Any valid hash algorithm supported by node. The host's key is hashed using this algorithm and passed to the hostVerifier function as a hex string. Default: (none)
hostVerifier - function - Function with parameters (hashedKey[,callback]) where hashedKey is a string hex hash of the host's key forverification purposes. Return true to continue with the handshake orfalse to reject and disconnect, or call callback() with true or falseif you need to perform asynchronous verification. Default:(auto-accept if hostVerifier is not set)
hostVerifier
功能?我要通过
hashedKey
还有
fingerprint
,以便我可以返回
true
或
false
,当握手成功与否。
node.server.hostVerifier = function (hashedKey, (hashedKey, msg.fingerprint)=> {
if (hashedKey = msg.fingerprint) return true;
else return false
}){};
await sftp.connect({
host: node.server.host,
port: node.server.port,
username: node.server.username,
password: node.server.password,
hostHash: 'someHashAlgo',
hostVerifier: node.server.hostVerifier,});
我知道这是完全错误的,但我快要疯了,因为我不知道如何正确检查 ssh 主机 key 指纹。
最佳答案
所以我自己找到了一个解决方案,并想与您分享。
我将箭头函数定义为 hostVerifier
函数,通过msg.fingerprint
隐含指纹的值多变的。我只这样做,如果 node.server.fingerprint
有一个值(value)。所以如果我手头没有指纹,连接仍然会建立。
node.server.fingerprint = msg.fingerprint;
if(!!node.server.fingerprint){
node.server.hostHash = 'md5';
node.server.hostVerifier = (hashedKey) => {
return (hashedKey === msg.fingerprint) ;};
node.server.algorithms = {serverHostKey: ['ssh-rsa'],};
};
为此,我也声明我的
node.server.alogrithms
.有了它,这是一个尝试和错误。
await sftp.connect({
host: node.server.host,
port: node.server.port,
username: node.server.username,
password: node.server.password,
hostHash: node.server.hostHash,
hostVerifier: node.server.hostVerifier,
algorithms: node.server.algorithms,
});
关于javascript - 在 ssh2-sftp-client 中使用 ssh 指纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65184683/
BizTalk 将内部 SFTP 测试的指纹视为ssh-rsa 2048 33:88:f0:ff:63:78:a9:2b:3f:09:cb:05:81:db:59:86 WinSCP 显示:ssh-e
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。 Improve thi
我正在尝试实现 Android-6.0-marshmallow 中引入的指纹,但遇到了一个问题。 问题是当我尝试运行此处提供的示例代码时 android-FingerprintDialog 它不止一次
我正在寻找一种算法来匹配两个整数数组。例如: 引用: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 候选人: FF FF FF 01 02 03 FF
在 musicg 中,我可以通过以下代码比较 Wave 文件的指纹: double score = new FingerprintsSimilarity( new Wave("voice1.w
我的目标是实现第三方网站证书的 SHA1 指纹。我可以使用 openssl 成功获取它但是,当我尝试使用 python 代码实现它时,它并没有变得相同。使用 python 代码获取的 SHA1 指纹与
我正在编写一个脚本来查找大型图像库中的重复项。目前我正在做一个两遍过滤器,首先找到相同大小的文件,然后在 10240 字节的文件上执行 sha256 以获得具有相同大小的文件的指纹(代码 here )
我需要对 GitHub 进行 SSH key 审核,但我不确定如何找到我的 RSA key 指纹。我最初按照指南在 Linux 上生成 SSH key 。 我需要输入什么命令来查找我当前的 RSA k
对于历史,我有一个带有 OS debian 的本地 VM(Virtualbox),在这个 VM 中我开发了一个 Web 应用程序。我使用 ssh 协议(protocol)登录。 今天,我面临一个奇怪的
我正在使用带 sprockets 的中间人将我的 js 和 css 文件打包到一个文件中。这很好用。但是我想知道是否可以在中间人中启用 sprockets 的指纹功能。 例如我的文件 all.js,其
在 MVC 应用程序中,我需要验证客户端证书是否由特定 CA 签名/颁发。 我知道如何获取 Request.ClientCertificate和 X509Certificate2从中,但我无法弄清楚如
我正在开发一个 Android 应用程序,该应用程序将使用手机的指纹传感器作为扫描仪来验证候选人,以与数据库中已存储的指纹进行比较。我该怎么办? 最佳答案 Android 的指纹功能仅用于根据设备对用
我们正在整合 Universal App Links .该设置需要将名为 assetlinks.json 的文件上传到 Web 服务,以便验证关联。 为调试版本生成指纹时,使用默认的 debug.ke
我目前正努力为我正在开发的 Unity3d 应用程序提供一些安全性,我想添加验证 apk 文件未被某些补丁程序篡改。我知道如何从构建的应用程序(如 keytool)获取 keystore 指纹,但我很
我正在尝试将 android Fingerprint 实现到示例应用程序中。使用的密码未被识别为有效 - 但我不知道为什么,因为基于 android 文档,它应该受到支持。 密码建立在: return
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 年前。
我正在从 Google 获取 Google Play API key ,它要求输入 SHA1 指纹。我想知道什么是 SHA1 指纹?我还想知道是否可以从另一台计算机使用此 API key ? 最佳答案
我目前在非常轻量级(低处理器/低内存)的 Linux 设备上的 bash 脚本中使用 linux md5sum 命令来返回并记录单个目录中数千个名称相似的 32MB 文件的校验和。 md5sum ./
我正在尝试实现一种与我的后端服务器通信的方法,并确保我的后端仅在调用我的应用程序时才应答。 所以我的想法是,我只是将 SHA1/MD5 指纹与 HTTPS POST 请求一起发送,并在后端服务器上对其
这里有一些主题对如何查找相似图片非常有帮助。 我想做的是获取一张图片的指纹,在数码相机拍摄的不同照片上找出同一张照片。 SURF 算法似乎是独立于缩放、角度和其他失真的最佳方法。 我使用 OpenCV
我是一名优秀的程序员,十分优秀!