Pergunta curta
Estou assumindo que ssh-keygen -r hostname
usa uma chave pública padrão. Eu teria pensado que seria padrão para ~/.ssh/id_rsa.pub
, mas esse não parece ser o caso. Então o que está fazendo?
Versão longa
Minha experiência com os utilitários de linha de comando OpenSSH é que eles solicitam ao usuário quaisquer argumentos ausentes ou retornam aos valores padrão padrão. Mas para ssh-keygen -r
isso não parece ser o caso. Quando executo o ssh-keygen -r
comando sem especificar uma chave pública (por exemplo ssh-keygen -r hostname
, ), recebo a seguinte saída:
no keys found.
Eu esperaria que o padrão fosse minha chave pública, por exemplo ~/.ssh/id_rsa.pub
. No entanto, esse não parece ser o caso, pois quando passo essa chave pública explicitamente (por exemplo ssh-keygen -r hostname -f ~/.ssh/id_rsa.pub
, ), recebo a saída da seguinte forma:
hostname IN SSHFP 1 1 5d6c87ef4e8f4f59974f05723ff3dc0cffc9c4b4
hostname IN SSHFP 1 2 8fa151e7f3ba43fa89c240ab236f0313aea1fe9f9e9f4e5b8f084ca0008399ed
Além disso, a página man para ssh-keygen
mostra a seguinte sintaxe para o ssh-keygen -r
comando:
ssh-keygen -r hostname [-f input_keyfile] [-g]
Como o -f input_keyfile
sinalizador é indicado como opcional, eu esperaria ssh-keygen
fazer algo diferente de apenas imprimir uma mensagem de erro.
Portanto, se ssh-keygen -r hostname
não usar ~/.ssh/id_rsa.pub
como chave pública padrão e não solicitar ao usuário que especifique uma chave pública, o que está fazendo? É padrão para algum outro caminho? Se sim, que caminho é esse?
NOTA: estou executando o OpenSSH versão 7.6 no macOS High Sierra (Mac OS X versão 10.13.6).