terça-feira, 7 de junho de 2011

Entrar SSH Public-Key

O SSH é um sistema popular permitindo um shell remoto (interpretador de comandos) para ser usado em uma conexão segura. Por segurança, aqui, quero dizer que a conexão é criptografada, autenticados e integridade verificada. A criptografia impede que os atacantes a leitura do conteúdo dos dados a serem transmitidos, a autenticação permite que tanto o cliente quanto o servidor para ter certeza de que eles estão conectados aos outros, e não para o sistema de alguns intermediários em um ataque "man-in-the-middle, ea verificação de integridade garante que os dados não está sendo alterado durante o trânsito. Juntas, essas três características proporcionam uma conexão segura.

Mesmo assim, o recurso de senha de login baseada transmite sua senha através desse link, para o servidor remoto, onde é hash e comparada com o valor armazenado no arquivo de senha. Para muitos, mesmo que a conexão é criptografada, isto não é satisfatório. SSH permite o uso de autenticação por chave pública para acessar um servidor. Aqui, você carregar a sua chave pública para o servidor, e manter sua chave privada na máquina do cliente, a senha, opcionalmente, protegidos, de modo que ninguém pode roubar o seu arquivo de chave privada e usá-lo para obter acesso sem senha.

Agora, quando a conexão SSH é estabelecida, o servidor terá que verificar a autenticação do cliente, ou seja, certifique-se que é você log in Isso foi feito anteriormente, solicitando sua senha, e compará-lo contra o hash senhas armazenadas. Agora, o servidor codifica um sinal gerado aleatoriamente contra a sua chave pública, e envia isso para você. A chave privada associada a chave pública, armazenados em um arquivo para que somente você tenha acesso, seja pela proteção de senha, permissões de arquivos ou outros meios, é a única chave capaz de decifrar a mensagem. Agora, o cliente SSH irá descriptografar a mensagem e enviá-lo de volta para o servidor, o que compara com o valor original. Na realidade, a autenticação é também muitas vezes verificados no sentido oposto, usando a chave pública do servidor, que pode ser armazenado pelo cliente. Depois que o servidor sabe que você mantenha a chave privada correspondente à chave pública, que lhe concede acesso.

Assim, você pode perguntar, qual é o benefício de segurança aqui? Bem, não há informações secretas estão sendo transmitidos. Você não está mais enviando a senha, nem você está transmitindo todas as do seu arquivo da chave privada. Você está usando as chaves para criptografar e descriptografar um pedaço de dados aleatórios, que funciona apenas uma vez. Quem fez alguma maneira conseguem ouvir sobre este fluxo de dados não seria capaz de recuperar o acesso ao reproduzir a sua senha, ou mesmo reproduzindo a transação mesmos dados, como um valor diferente seria codificado na próxima vez que você entra, e só a chave privada que se pode decifrar.

Autenticação de chave pública é suportada no OpenSSH, e também no PuTTY e muitos outros sistemas SSH. Verifique a documentação do sistema para obter detalhes sobre como usar a chave pública baseada logins.