Histórico da Página
Neste documento, você verá como configurar uma conexão SSH utilizando uma chave pública. Este processo facilita a automação de scripts, pois após esta configuração não será solicitada a senha ao tentar acessar um servidor remoto. Mas atenção: cuidado para não expor a chave privada.
Informações | ||
---|---|---|
| ||
Os links a seguir são referenciados ao longo desta página, e podem ser de interesse: Cartilha de Segurança para Internet Confira, no Medium, o artigo original escrito por um dos integrantes da área clicando aqui. |
Para quem está iniciando e quer saber um pouco mais sobre criptografia recomendo , faça a leitura da cartilha de segurança para internet, esta . Esta cartilha ajudará nos seus primeiros passos.
Antes de iniciar o procedimento, verifique se possui as ferramentas ssh, ssh-keygen e ssh-copy-idinstaladasnos servidores. Caso não possua, realize a instalação com o comando a seguir:
Bloco de código | ||
---|---|---|
| ||
# yum install ssh ssh-keygen ssh-copy-id |
Bloco de código | ||
---|---|---|
| ||
# apt-get install ssh ssh-keygen ssh-copy-id |
Procedimento
Ilustração de como ficará a conexão após a troca de chave pública
Gerando a chave pública (SEM SENHA)
Na máquina onde será executado o comando remoto (ou os scripts)
Utilize , utilize o usuário que terá acesso na máquina remota. Nos exemplos, estou utilizando o meu usuário. Apenas este usuário poderá acessar a máquina com a chave gerada.
Para Vamos gerar a chave; , execute o comando abaixo:
Bloco de código |
---|
ssh-keygen -t dsa -f ~/.ssh/id_dsa |
Após digitar o comando acima, pode pressionar pressione ENTER para as próximas fases, assim o ssh-keygen irá gerar uma chave pública e privada sem senha.
RETORNO ESPERADO
Generating public/private dsa key pair. |
retorno do comando — ssh-keygen -t dsa -f ~/.ssh/id_dsa
Compartilhando a chave pública
Utilize o comando abaixo para copiar a chave pública do servidor local para os outros servidores.
Bloco de código | ||
---|---|---|
| ||
$ ssh-copy-id [usuario]@[maquina_remota] |
Este comando deve ser repetido para todos os servidores que desejar acessar.
retorno do comando — ssh-copy-id usuario@maquina_remota
Teste de conexão
Realize o teste conectando na máquina remota:
Bloco de código | ||
---|---|---|
| ||
$ ssh [usuario]@[maquina_remota] |
retorno do comando — ssh usuario@maquina_remota
Conclusão
É importante lembrar queInformações |
---|
Lembre-se: o acesso está autorizado apenas para o usuário que gerou a chave, ou seja, se for gerada a chave com o usuário root, apenas quando estiver logado com o usuário root poderá acessar a máquina remota (sem solicitar senha). O mesmo ocorre se for gerada a chave com outro usuário. |