Como acessar servidores SSH sem usar senha

O OpenSSH é a versão gratuita de uma suíte de ferramentas de conectividade que opera sob o protocolo SSH (Secure Shell), permitindo via terminal, acessar remotamente um servidor ou efetuar transferências de arquivos.
Ferramentas tradicionais utilizadas para realizar essas funções, como o telnet ou rcp, são inseguras, pois não utilizam nenhum mecanismo de privacidade para as informações transmitidas, fazendo por exemplo, com que a senha utilizada numa autenticação trafegue visivelmente em uma rede interna ou Internet. A ferramenta Wireshark pode ser utilizada para monitorar essa operação, onde você poderá ver que essas ferramentas são realmente falhas.
O OpenSSH possui um servidor e ferramentas cliente, provendo mais segurança, encriptando as operações de acesso remoto e transferências de arquivos, substituindo efetivamente as ferramentas inseguras.
Em nosso tutorial mostrarei como conectar uma estação de trabalho Linux a um servidor, também Linux, mediante o uso de certificado próprio, sem a utilização de senha.
Um pequeno aviso
Para muitos pode ser uma falha de segurança, e em alguns casos realmente é. Este tutorial destina-se a você que administra diariamente diversos servidores Linux a partir de sua estação de trabalho ou algum outro servidor, onde precisa, repetidas vezes, digitar um usuário e senha para se autenticar em algum servidor SSH. Esta dica veio para facilitar. Cabe a você leitor, tomar as devidas precauções com relação ao local onde guarda as chaves, bem como as permissões de pasta.
CENÁRIO
– Estação de trabalho
— Distribuição: GNU/Linux Lubuntu 15.10
— Hostname: workstation01
— Endereço IP: 192.168.0.2
— Usuário: oanalista
– Servidor
— Distribuição: GNU/Linux CentOS 7
— Hostname: server01
— Endereço IP: 192.168.0.1
— Usuário: oanalista
CONFIGURANDO
Primeiramente devemos gerar o par de chave pública/privada (utilizando o algoritmo de criptografia RSA) na estação de trabalho, então digite:
$ ssh-keygen (Pressione ENTER)
Em seguida o sistema solicitará que você informe um nome para a chave, digite o nome de sua preferência ou pressione ENTER para manter o padrão (id_rsa).
Neste passo, o sistema solicitará que entre com uma senha, como nosso intuito é logar no SSH sem o uso de senha, então pressione ENTER e outra vez ENTER quando solicitado.
Sua chave publica e privada ficará salva em /home/oanalista/.ssh.
O sistema mostrará uma imagem da chave gerada randomicamente, com criptografia RSA de 2048 bits e função hash SHA256 de 64 caracteres.
1 - Imagem
ENVIANDO A CHAVE GERADA PARA O SERVIDOR
Para enviar a chave para o servidor server01, digite o seguinte comando:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub oanalista@192.168.0.1
Para finalizar, o sistema pedirá que você digite a senha do usuário (que já deve existir no servidor).
Como um teste, você será solicitado(a) a tentar logar no servidor utilizando o comando sshoanalista@192.168.0.1
2015-10-26-172453_787x362_scrot
E ao digitá-lo terá o seguinte resultado:
2015-10-27-171421_691x158_scrot
Perceba que o prompt antes estava como ‘oanalista@workstation01’ e agora mudou para ‘oanalista@server01’. Significa que estamos conectados a uma sessão SSH no servidor.
Ainda dentro do servidor, veja na imagem abaixo que iremos criar um arquivo no diretório /tmp com o nome de teste.txt e com o seguinte texto em seu conteúdo: Teste SSH.
2015-10-26-173724_787x209_scrot
Após a criação do arquivo digitamos exit para “sair” do servidor.
Agora iremos copiar o arquivo teste.txt do servidor para a pasta /Documentos/ da estação de trabalho, na qual está com o usuário oanalista logado. A cópia poderá ser feito digitando o seguinte:
$ scp oanalista@192.168.0.1:/tmp/teste.txt ~/Documentos/
E listamos o conteúdo do diretório ~/Documentos para verificar se o arquivo teste.txt já se encontra neste local.
$ ls ~/Documentos/
A figura abaixo ilustra estes comandos:
2015-10-26-173943_787x243_scrot
Conforme a imagem acima vemos que o arquivo teste.txt foi copiado com sucesso no diretório /Documentos.
CONCLUSÃO
Vimos que é possível acessar o servidor sem a digitação da senha mediante uma chave que foi copiada anteriormente para o mesmo. Após o estabelecimento da conexão, arquivos poderão ser copiados. É uma forma interessante quando acessamos constantemente um servidor SSH para executar as mais variadas tarefas.
Espero que esta dica tenha sido útil para você.
GLOSSÁRIO
Workstation: Estação de trabalho, computador, notebook, smartphone ou tablet, que possui funções de cliente, ou seja, acessa informações, recursos que estão disponíveis em um servidor.
Server: Servidor, geralmente é um computador com um bom poder de processamento, que provê os mais variados serviços aos computadores clientes (estações de trabalho).
Acento do til (~): No Linux serve para indicar o diretório home do usuário corrente. Ex: se eu estiver conectado no Linux com o usuário oanalista e quiser navegar (via terminal) até ao seu diretório home, basta digitar cd ~ ao invés de cd /home/oanalista.

Fonte: http://www.oanalista.com.br/acessando-servidores-ssh-sem-o-uso-de-senha/
    Blogger Comment
    Facebook Comment

0 comments:

Postar um comentário