Eu tento encontrar um script para descriptografar (unhash) os nomes de host ssh no arquivo known_hosts , passando uma lista dos nomes de host .
Então, para fazer exatamente o inverso de :
ssh-keygen -H -f known_hosts
Ou também, fazer o mesmo que isso, se o ssh config HashKnownHosts estiver definido como No:
ssh-keygen -R know-host.com -f known_hosts
ssh-keyscan -H know-host.com >> known_hosts
Mas sem baixar novamente a chave do host (causada pelo ssh-keyscan).
Algo como:
ssh-keygen --decrypt -f known_hosts --hostnames hostnames.txt
Onde hostnames.txt contém uma lista de nomes de host.
ssh
encryption
hostname
ssh-keygen
Xorax
fonte
fonte
known_hosts
. O que é descriptografar?Respostas:
As linhas no
known_hosts
arquivo não são criptografadas, elas são hash. Você não pode descriptografá-los, porque eles não são criptografados. Você não pode "unhash" eles, porque é disso que se trata um hash - dado o hash, é impossível¹ descobrir a string original. A única maneira de "unhash" é adivinhar a string original e verificar seu palpite.Se você tiver uma lista de nomes de host, poderá passá-los
ssh-keygen -F
e substituí-los pelo nome do host.¹ No sentido prático, isto é, levaria todos os computadores existentes hoje mais do que a era atual do universo para fazê-lo.
fonte
A página do manual ssh-keygen (1) diz a
-F hostname
opção:Parece ser o que você quer.
fonte
known_hosts
arquivo porsed
.