
Parece que toda vez que aceito uma nova chave de host, o ssh (testei 8.6p1 e 9.3p2) executa as seguintes etapas:
- Mova o
known_hosts
arquivo paraknown_hosts.old
; - Crie um novo
known_hosts
arquivo; - Copie o conteúdo de
known_hosts.old
toknown_hosts
; - Adicione a nova entrada ao novo arquivo
known_hosts
.
Tudo muito bem, exceto que, como muitas pessoas, coloquei meus dotfiles sob controle de versão. O known_hosts
arquivo é um link para um arquivo no meu repositório git. Afinal, se eu aceitei uma chave de host em meu desktop, não quero arriscar um MITM se me conectar ao mesmo host em meu laptop. Afinal, esse é o objetivo do arquivoknown_hosts.
O procedimento acima seguido por ssh não funciona bem: depois de aceitar um novo host, ele known_hosts.old
é um link para meu arquivo controlado por versão, que nunca é atualizado.
Como posso ssh
parar de criar known_hosts.old
e apenas editar known_hosts
diretamente? De qualquer forma, não preciso de um método de backup tão grosseiro - o arquivo já está sob controle de versão. Eu examinei o TFM, mas não encontrei essa opção.
Responder1
Parece que está codificado em um código-fonte, então uma opção é reescrevê-lo para atender às suas necessidades (não recomendado).