我正在尝试ssh-keygen使用变量bash作为输入而不是文件来获取公钥的指纹。我知道我可以使用一个临时文件来解决这个问题,但由于这个问题的范围之外的原因,我不想。

这个方法并没有因为它说,关键文件是无效的工作(这是正确的肯定)

echo $pubkey | ssh-keygen -lf /dev/stdin

这是行得通的,但不是使用变量,而是使用文件。

ssh-keygen -lf alpha.pub

这确实有效,但不是使用变量,而是使用重定向的文件。

ssh-keygen -lf /dev/stdin < alpha.pub

这并没有工作,因为我得到一个模棱两可的重定向

ssh-keygen -lf /dev/stdin < $(echo $pubkey)

我希望了解如何让ssh-keygen从一个带有公钥的变量中读取数据,并在可能的情况下解释为什么重定向没有做我认为他们应该做的事情。在具体的为什么|行为不同于<为什么第三个例子是ambiguous redirect。我在网上搜索,但许多重定向教程似乎没有回答我的问题。

关键词: keygen