Estoy tratando de llamar al ssh-keygen
usando una variable a través de bash
como una entrada en lugar de un archivo para obtener una huella dactilar de una clave pública. Soy consciente de que podría usar un archivo temporal para evitar este problema, pero por razones fuera del alcance de esta pregunta, no quiero hacerlo.ssh-keygen aceptando stdin
Este método hace no trabajo, ya que dice que el archivo de la clave no es válido (que es correcto para asegurarse)
echo $pubkey | ssh-keygen -lf /dev/stdin
Este hace trabajo, pero no está utilizando una variable, en lugar de un archivo.
ssh-keygen -lf alpha.pub
Esto hace trabajo, pero no es el uso de una variable, en lugar de un archivo redirigido.
ssh-keygen -lf /dev/stdin < alpha.pub
Esto hace no trabajo porque consigo una redirección ambigua
ssh-keygen -lf /dev/stdin < $(echo $pubkey)
Le agradecería alguna idea de cómo conseguir ssh-keygen para leer de una variable con una clave pública y si posible, una explicación de por qué los redireccionamientos no están haciendo lo que creo que deberían estar haciendo. En específico, por qué el |
se comporta de manera diferente que el <
y por qué el tercer ejemplo es un ambiguous redirect
. Busqué en línea, pero muchos de los tutoriales de redirección no parecen responder mis preguntas.
En Ubuntu 14.04, Bash 4.3.11, kernel 3.13.0-24-generic, esto no funciona e informa '/ dev/stdin: archivo obsoleto handle'. –
No funciona en Mac. – Will