echo $pubkey | ssh-keygen -lf /dev/stdin
/dev/stdin is not a public key file.
/ dev / stdin实际上是unix管道,而不是常规文件,因此ssh-keygen无法打开文件
ssh-keygen -lf /dev/stdin <<<$key
1024 92:6a:3f:5c:1f:78:.....
/ dev / stdin指的是使用bash heredoc创建的常规文件。您可以验证以下内容:
# ls -l /dev/stdin <<<$pubkey
lrwxrwxrwx 1 root root 15 Feb 11 08:07 /dev/stdin -> /proc/self/fd/0
# ls -l /proc/self/fd/0 <<<$pubkey
lr-x------ 1 juergen juergen 64 Apr 14 13:31 /proc/self/fd/0 -> /tmp/sh-thd-1271250023 (deleted)