Negocio

Gerando e adicionando chaves SSH a um servidor

Tornando o registro mais fácil com chaves SSH

SSH (Secure Shell) é bom para acessar sistemas remotos porque oferece grande segurança, mas não seria ótimo se houvesse uma maneira de fazer o login com segurança sem uma senha ?. Com o SSH, é possível criar chaves que permitirão ao usuário fazer o login sem senha. É muito fácil e leva apenas alguns minutos para gerar uma chave remota e armazená-la em um servidor remoto.

Chaves SSH públicas e privadas

Vamos conhecer Andrea, que dirige uma pequena empresa de web design. Ela se pega fazendo login repetidamente no servidor web de seu cliente via SSH. Ela deve inserir seu nome de usuário e senha sempre que precisar manter o site de um cliente. Pior ainda, ela tem vários clientes com diferentes nomes de usuário e senhas para lembrar. Isso está ficando frustrante, mas, felizmente, ela sabe como gerar um par de chaves.

As chaves SSH funcionam usando o conceito de um par de chaves , que inclui uma chave pública e uma chave privada. Como o nome indica, a chave pública é compartilhada e a chave privada é mantida privada. A chave pública é armazenada no servidor remoto. Quando um usuário tenta efetuar login, o servidor SSH compara a chave pública no servidor com a chave privada na máquina do usuário. Se o par de chaves corresponder, o usuário efetua login.

Gerando um par de chaves

Gerar um par de chaves é fácil com SSH. Em um sistema Mac OS X ou Linux, Andrea só precisa usar o comando ‘ssh-keygen’. Para segurança extra, ela usa o algoritmo RSA :

ssh-keygen

O comando ssh-keygen solicitará a ela um local para salvar sua chave. O padrão é o diretório inicial. No Mac ou Linux, geralmente é /home/user/.ssh/ , onde ‘user’ é o nome de usuário. O par de chaves gerado terá os nomes ‘id_rsa’ para a chave privada e ‘id_rsa.pub’ para a chave pública. Porque o diretório ‘.ssh’ começa com um ‘.’ , ele normalmente ficará oculto nas listagens de diretório, a menos que você use o comando ‘ls -a’.

Andrea também tem a opção de usar uma senha longa , que é como uma senha, mas geralmente é mais complicada do que a senha da maioria das pessoas. Eles podem até ser frases completas. Andrea decide usar um apenas para tornar o login mais seguro, pois a chave garantirá que é realmente o login dela, enquanto a frase-senha adiciona um grau de segurança.

A desvantagem de usar senhas é que podem ser difíceis de lembrar, mas Andrea acha que a segurança extra vale a pena.

No Windows, o PuTTY é um cliente SSH popular. Ele também pode gerar um par de chaves em seu menu de configuração.

Obtendo sua chave pública em um servidor

Agora que Andrea gerou seu par de chaves, como ela o colocará em uma máquina remota? Essa parte também é fácil.

Existe um comando exatamente para isso:

ssh-copy

Onde ‘usuário’ é o nome de usuário e ‘exemplo.com’ é o nome do servidor que você está tentando acessar. Alternativamente, você pode copiar e colar o conteúdo da chave pública no arquivo ‘~ / .ssh / authorized_keys’ na máquina remota. Se você fizer isso manualmente, é muito importante que você copie a chave pública e não a chave privada, ou então sua chave privada ficará aberta.

Agora que Andrea copiou sua chave, ela poderá fazer login sem uma senha. Ela pode fazer isso em todos os servidores aos quais ela tem acesso. Com vários clientes com diferentes empresas de hospedagem, isso economiza uma quantidade significativa de esforço para lembrar as senhas.

Resumo da lição

O SSH permite que os usuários façam login em servidores remotos sem uma senha, usando um par de chaves que consiste em uma chave pública e uma chave privada. O par de chaves é gerado usando o comando ‘ssh-keygen’ e a chave pública é copiada em um servidor remoto, permitindo um login sem senha. Para segurança extra, use o algoritmo RSA :

ssh-keygen

Para ainda mais segurança, use uma senha longa. Uma frase secreta é como uma senha, mas é mais complicada e, portanto, oferece um pouco mais de segurança.