Existem duas interações aqui.
-
Primeiro, o SSH pede para confirmar a identidade do servidor . Isso é necessário porque um adversário pode se passar pelo servidor, fazer com que você entre e faça login e forneça sua senha ou outros dados confidenciais. A primeira vez que você se conecta a um servidor, precisa verificar a identidade do host. Depois disso, o SSH lembra a associação entre o nome do host e a identidade criptográfica.
-
Quando o SSH estiver convencido de que está falando com o servidor desejado, você precisará autenticar-se na conta de usuário no servidor, apresentando algumas credenciais. Se você não tiver configurado mais nada, será solicitada uma senha.
Para a validação de identidade do servidor , a solução mais simples é conectar-se ao servidor uma vez a partir dessa conta. Verifique a identidade e digite "sim". Esta decisão é registrada em ~/.ssh/known_hosts
e você não será perguntado novamente.
Você pode ser questionado sobre o endereço IP além do nome do host. Isso é irritante se o servidor estiver em um endereço IP dinâmico. Como o fato de o endereço IP do servidor ter mudado raramente é interessante, geralmente é inofensivo desativar a verificação do endereço IP colocando CheckHostIP no
no arquivo de configuração ~/.ssh/config
.
Para que a autenticação do usuário possa ser executada autônoma, gere um par de chaves sem uma senha. Na máquina do cliente, execute ssh-keygen
e insira uma frase secreta vazia. Em seguida, execute ssh-copy-id the-server.example.com
para copiar a chave pública para o servidor (você precisará inserir sua senha nesse ponto, já que é a única maneira de o servidor autenticar você até o momento). Depois disso, o SSH lerá o arquivo de chave e, como o arquivo de chave não tem senha, poderá usar a chave para autenticar sem qualquer intervenção humana.