O que há realmente em hospedeiros conhecidos? [fechado]
Eu não tinha um directório .ssh
até que corri
known_hosts
.
Tinha um texto como este.
foo.com,107.180.00.00 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuJfqSnraBz//Ux4j/hZpLv2eYUxNUgCk+9ClqoSgfcu4vXbWtUGSjo75UVQf+uguOeBnRLppJJ3mt0R5c/PPcawUGWfffk33t+biYcqra9xUcyfiGtO/Icko2L1J0EYTXM/8x8VK6UYFMfad2gltnZRa8Am50oHTXot1Df0RljUBxvh/UhmTJUrODpyrl2xY1OMWjM+S6uYCMNeSQGEpNfsWiCIStRnctMZSxiYJOLTSC4F2GF7B8pYFBn5rSwVHp17WCdO+4BZfwvH3HSSH8IWoyFhki+NlG912SEBJXcryvc0JPfAB9DTB4mRImjgrRT8vz5QeaCDrh8k4/A+U1fff
Pensei que isto pudesse ter sido uma chave pública ou privada puxada do meu servidor, mas não foi.
O que é isto e para que é utilizado?
Só estou a tentar saber mais sobre a ssh e como funciona. Por exemplo, neste caso eu não configurei a chave privada no local a máquina pediu uma senha, como esperado.
Investigação
É suposto ser uma chave pública para o servidor de acordo com2 answers
Para adicionar à resposta acima e ao seu comentário, Há quatro blocos de construção para a sessão ssh
- encriptação (chaves simétricas derivadas após a expiração da chave por sessão)
- integridade dos dados (MAC usando eg SHA, HMAC)
- Métodos de troca de chaves
- Métodos de chave pública ou métodos de chave anfitriã
A negociação do algoritmo de SSH envolve uma máquina de Estado de troca de chaves que começa quando a mensagem SSH_MSG_KEXINIT, juntamente com a lista de algoritmos é enviado.
O método de troca de chaves ou simplesmente o kex indica as chaves de sessão para a encriptação e as chaves públicas da máquina de autenticação(ssh-rsa
, ssh-dss
..) que são enviadas ao cliente. O passo abaixo são os passos básicos que ocorrem para o kex usando Diffie hellman key exchange algorithm
Citando o RFC https://tools.ietf.org/html/rfc4253
Os seguintes passos são usados para trocar uma chave. Neste, C é o cliente; S é o servidor; p é um grande cofre prime; g é um gerador para um subgrupo de GF(p); q é a ordem do subgrupo; V_ s é s cadeia de identificação; V_ C é a cadeia de identificação de C; K_ s é S chave da máquina pública; I_C é a mensagem SSH_MSG_KEXINIT de C e I_S é a mensagem S Mensagem SSH_MSG_KEXINIT trocada antes desta parte comecar.
C gera um número aleatório x (1
S gera um número aleatório y (0
C verifica se o K_ s é realmente a chave da máquina para S (por exemplo, usando certificados ou uma base de dados local). C é também autorizado a aceitar a chave sem verificação, no entanto, fazê - lo irá tornar o protocolo inseguro contra ataques activos (mas pode ser desejável para razões práticas a curto prazo em muitos ambientes). C então calcula K = f^x mod p, H = hash(V_C | / V_S | / I_C | / I_S | / K_S || e || f / / K) e verifica a assinatura s em H.
A base de dados local mencionada na terceira fase em certos sistemas pode ser a .ficheiro ssh / known_ hosts. Para responda a sua pergunta a chave pública é enviada ao cliente pelo host durante a troca de chaves.
Os seguintes formatos de chave pública e/ou certificado estão actualmente definidos:
O sinal necessário do SSH-dss é a chave DSS Raw
O sinal recomendado pelo Ssh-rsa é RSA Raw Key
Pgp-sign-rsa sinal opcional OpenPGP certificates (chave RSA)
Pgp-sign-dss sinal opcional OpenPGP certificates (DSS chave)
A. Um ou mais nomes de servidores ou endereços IP, Unidos por vírgulas.
foo.com,107.180.00.00
B. O tipo de chave.
ssh-rsa
C. Os dados da chave pública codificados para permanecerem dentro da ASCII gama.
AAAAB3NzaC1yc2EAAAABIwAAAQEAuJfqSnraBz//Ux4j/hZpLv2eYUxNUgCk+9ClqoSgfcu4vXbWtUGSjo75UVQf+uguOeBnRLppJJ3mt0R5c/PPcawUGWfffk33t+biYcqra9xUcyfiGtO/Icko2L1J0EYTXM/8x8VK6UYFMfad2gltnZRa8Am50oHTXot1Df0RljUBxvh/UhmTJUrODpyrl2xY1OMWjM+S6uYCMNeSQGEpNfsWiCIStRnctMZSxiYJOLTSC4F2GF7B8pYFBn5rSwVHp17WCdO+4BZfwvH3HSSH8IWoyFhki+NlG912SEBJXcryvc0JPfAB9DTB4mRImjgrRT8vz5QeaCDrh8k4/A+U1fff
D. quaisquer dados facultativos de comentários.
Também!! Este tópico pode ser útil para si: