Existe uma maneira fácil de atualizar informações em known_hosts quando você sabe que uma chave de host foi alterada?

33

Se o sistema operacional de um host foi reinstalado e teve sua chave pública regenerada, isso obviamente falhará porque a nova chave não corresponde à antiga.

Existe uma maneira mais fácil de dizer ao ssh que você sabe que a chave do host foi alterada e que você deseja que ela seja atualizada. Acho que é um pouco propenso a erros usar um editor de texto ou algo parecido com sed para remover a linha ofensiva.

    
por Sam 27.01.2011 / 15:37

2 respostas

50

Use ssh-keygen -R hostname para remover o nome do host do seu arquivo known_hosts. Da próxima vez que você se conectar, a nova chave do host será adicionada ao seu arquivo known_hosts.

    
por 27.01.2011 / 15:49
8
TARGET_HOST=[hostname or IP]

# Remove the old key(s) from known_hosts
ssh-keygen -R $TARGET_HOST

# Add the new key(s) to known_hosts (and also hash the hostname/address)
ssh-keyscan -H $TARGET_HOST >> ~/.ssh/known_hosts

Da próxima vez que você se conectar, conectará sem que seja solicitado Are you sure you want to continue connecting (yes/no)? , pois as chaves já estarão no arquivo known_hosts .

    
por 12.04.2016 / 20:11