Ao acessar um servidor pela primeira vez, como posso forçar o SSH a fornecer a chave RSA e armazená-la automaticamente se o usuário aprovar?
Atualmente, ele está me oferecendo a chave da ECDSA. Como eu já conheço a chave RSA, prefiro ver a chave RSA apresentada neste momento.
Eu tentei:
ssh -o RSAAuthentication=yes user@server
Infelizmente, isso me dá uma chave ECDSA e a Are you sure you want to continue connecting (yes/no)?
mensagem.
Respostas:
Removendo os algoritmos ECDSA da
HostKeyAlgorithms
variável de configuração.Eu simplesmente removi todos os algoritmos ECDSA da lista padrão .
Você pode, é claro, colocar isso no seu
.ssh/config
para essa máquina:fonte
HostKeyAlgorithms [email protected],ssh-rsa
vez disso.Não use o RSA, pois o ECDSA é o novo padrão.
No servidor, faça o seguinte:
ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
e registre esse número.No cliente, você pode fazer o SSH para o host e, se e quando vir o mesmo número, poderá responder
Are you sure you want to continue connecting (yes/no)?
afirmativamente ao prompt . Em seguida, a chave ECDSA será gravada no cliente para uso futuro.fonte
Sim, OK mude para ECDSA em breve, mas enquanto isso, tente o seguinte:
fonte
FingerprintHash
opção é desnecessária, deixe essa parte toda de lado.Acabei de adicionar esta linha
para
e está funcionando bem nesta versão.
fonte
Apenas para melhorar a resposta do tumbleweed, que possui um link morto para encontrar a lista antiga de algoritmos.
Primeiro, decida uma lista de algoritmos. Para encontrar a lista antiga, use
ssh -vv
:E procure as 2 linhas como "algoritmos de chave do host: ...", onde a primeira parece ser a oferta do servidor e a segunda é a do cliente. Ou, para escolher essas duas linhas automaticamente, tente o seguinte (e para sair, pressione ctrl + d):
Agora filtre para baixo ... você deve remover todos os dss / dsa, pois eles são obsoletos há muito tempo, e você também queria remover o ecdsa (como eu), por exemplo, se você tivesse:
Você deve terminar com:
Agora edite sua configuração. Para sua própria configuração:
Para a configuração em todo o sistema:
Adicione uma nova linha, globalmente:
ou para um host específico (não ideal para a configuração em todo o servidor):
Em vez da lista que eu inseri, cole a lista que você derivou da
ssh -vv
saída, sem incluir a parte "algoritmos de chave do host:".fonte
alguns pontos são confusos quanto à possibilidade de remover algoritmos de chave dos padrões existentes - As chaves de nível mais alto são as novas chaves RSA-sha2 / 256/512 e ed25519 para melhor segurança usando ssh-keygen -t ras -a -b 4096 -a 113 para gen. Aparentemente, o suporte ao legado está lendo as notícias ssh de que o ssh1 desapareceu totalmente - suas chaves max - dsa de 45 bits e 96 bits também depreciadas também serão eliminadas. Foi corrigido no máximo de 128/1024 bits, encontrado hackável. (poss NSA fez isso e lame / desculpe como código de depuração deixou incerto a dúvida de que o nome era heartbleed); portanto, todas as estruturas de chave RSA seguras e de alto custo que precisam ser retrabalhadas para dar suporte e manter padrões mais elevados no futuro. defina quais chaves você deseja usar, conforme descrito em / etc / ssh / sshd_config, tente executar 2 chaves auth 3 também funciona, isto é: sshd_config "AuthenticationMethods publickey, publickey, publickey" - certifique-se de que as listagens ssh -Q kex correspondam aos servidores ou desktops A e B, como exemplo, podem diferir em sua saída - e verifique se os mesmos algoritmos de exibição de chaves correspondem. As chaves ecdsa mais recentes em produção também são muito boas para não usar. ou get - keyexchange recusou o acesso parcial msg segura. Muita informação boa apenas paciente para procurá-lo.
fonte
Ou, se você insistir em ter a abordagem de chave RSA, digite
ssh-keygen -t rsa
no servidor ao qual pretende fazer o SSH.Isso deve gerar chaves públicas e privadas RSA em '~ / .ssh / id_rsa'. Agora tudo o que você precisa fazer é copiar a chave pública em
$HOME/.ssh/authorized_keys
todas as máquinas das quais você pretende ssh na máquina na qual você gerou suas chaves RSA.E então sente-se e relaxe!
fonte