Image default
How To

DICA: Acessando servidores SSH sem o uso de 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

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 ssh oanalista@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.

Posts similares

Monte sistemas de arquivos remotos sobre SSH com o SSHFS

O Analista

nShield: Uma solução Anti-DDoS baseada no iptables

O Analista

Nmap: Instalando a versão mais recente no Ubuntu e família

O Analista