gpt4 book ai didi

regex - 为什么在使用WinSCP .NET程序集时此SSH主机 key 指纹与模式不匹配

转载 作者:行者123 更新时间:2023-12-02 14:28:38 25 4
gpt4 key购买 nike

我正在尝试使用WinSCP和PowerShell连接到SFTP服务器,并遇到以下问题

Error: SSH host key fingerprint "ssh-rsa 2048 ABCDE+I9v1+pLxkhZkod6yAbEh0o7a8wlSsI+ABCDEF" does not match pattern /((ssh-rsa|ssh-dss|ssh-ed25519|ecdsa-sha2-nistp(256|384|521))( |-))?(\d+ )?(([0-9a-f]{2}(:|-)){15}[0-9a-f]{2}|[0-9a-zA-Z+/]{43}=)(;((ssh-rsa|ssh-dss|ssh-ed25519|ecdsa-sha2-nistp(256|384|521))( |-))?(\d+ )?(([0-9a-f]{2}(:|-)){15}[0-a-f]{2}|[0-9a-zA-Z+/]{43}=))*/



用引号引起来的字符串中的ABCDE和ABCDEF只是我遮住了指纹。

我检查了现有的SO响应(
SSH host key fingerprint ... does not match pattern ... when using WinSCP .NET assembly in C# to download filesSSH host key fingerprint does not match pattern C# WinSCP),但它们并不适用。

我对正则表达式有一个模糊的知识,看起来它应该与我匹配,所以我希望我缺少一些简单的东西。我有'ssh-rsa',然后是一个空格(|-),然后是多个数字,然后是空格(\ d +),然后是与[0-9a-zA-Z + /] {43}匹配的43个字符(我有一个43个字符的字符串,这使我觉得我的指纹正确,只是缺少一些语法琐事。模式的整个后半部分仅是第一个后半部分的重复,并且我假设是可选的一个,所以我不知道哪些内容未被接受?

最佳答案

Base-64编码的SHA-256指纹should be padded with = :

ssh-rsa 2048 ABCDE+I9v1+pLxkhZkod6yAbEh0o7a8wlSsI+ABCDEF=

但是请注意,从WinSCP 5.17开始,不需要填充。

就像您提到的两个问题的答案中提到的那样, WinSCP can generate a code template包括适合您的正确指纹。

关于regex - 为什么在使用WinSCP .NET程序集时此SSH主机 key 指纹与模式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58822138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com