Atualmente estou tentando configurar um túnel para permanecer vivo aka. ssh.localhost.run após ficar inativo por um tempo.
Eu fiz algumas pesquisas e descobri esse tipo de arquivo ~/.ssh/config assim:
Host *
ServerAliveInterval 60
ServerAliveCountMax 5
Mas depois de um tempo (geralmente 1 hora), o PuTTY responderá "A assinatura da chave do host do servidor é inválida". e túnel antigo terminado, tenho que fazer um túnel novo manualmente, ainda posso usar a chave antiga, mas o link dos túneis (domínio) é diferente.
Minha pergunta:
Existe alguma maneira de manter este túnel válido (nunca expira) ou alguma maneira de resolver que "A assinatura da chave do host do servidor é inválida"?
Isso não é expiração ociosa – a resposta é causada por um re-handshake periódico que a maioria dos clientes e servidores SSH iniciam a cada poucas horas para trocar novas chaves. O processo é muito semelhante ao que acontece durante a conexão inicial, incluindo a re-verificação da "chave de host" do servidor (como efeito colateral, não como objetivo), e aparentemente seu servidor está fazendo o re-handshake incorretamente.
Em outras palavras, é um problema com o software de servidor SSH personalizado que seu túnel está usando. (Embora, primeiro verifique se você tem a versão mais recente do PuTTY (ou seja, 0.77), caso seja um bug do cliente.)
O PuTTY permite ajustar ou desativar os parâmetros de re-troca de chave em "Conexão > SSH > Kex". O intervalo de tempo padrão é de 60 minutos e o limite de dados padrão é de 1 GB transferido – o PuTTY iniciará uma nova chave sempre que um desses limites for atingido.
Com cifras modernas, você pode aumentar com segurança os períodos de rechaveamento (o rechaveamento por hora foi feito para cifras antigas de 64 bits ou até 56 bits), por exemplo, o rechaveamento baseado em tempo pode ser definido para uma semana ou até mesmo desabilitado completamente, enquanto o rechaveamento baseado em dados pode ser definido para algo como
1024GB
ou desativado também.No entanto, isso apenas ajusta a rechaveamento iniciado pelo cliente – não pode impedir que o servidor solicite uma nova chave.
Finalmente, ~/.ssh/config é para OpenSSH – não é lido pelo PuTTY. As mesmas configurações existem no PuTTY, mas precisam ser configuradas por meio de suas próprias telas de configurações.