Conheça 3 métodos que irão te ajudar a realizar a conexão SSH há um servidor. 1 - Via senha; 2 - Via SFTP; 3 - Via chaves SSH.

O SSH (Secure Shell), é um protocolo muito famoso e bastante utilizado entre desenvolvedores e muito temido pelos leigos, por ser comumente utilizado por uma ILC (Interface de linha de comando) – a famosa telinha preta – acaba afastando muito usuários da utilização desse protocolo.

Mas vez ou outra é necessário realizar o acesso via SSH a um servidor para fazer algumas ações que não podem ser feitas por uma interface visual, tendo isso em vista, preparei algumas dicas que devem facilitar tanto para os novatos como também agregar àqueles que já tem certa familiaridade.

Vamos lá!

O que é SSH?

Bom, pra entendermos melhor o conceito de SSH vale fazermos a separação dos termos Secure e Shell.

  • Secure: O motivo de ter o Secure, é por que a conexão do Shell ao servidor é criptografada, ou seja, caso você insira códigos que tenham dados importantes, como senhas, informações de usuarios, etc. e alguém intercepte a comunicação entre o servidor, como por exemplo algo escutando na rede. A informação coletada vai ser ilegível, somente o servidor a qual você está conectando terá como descriptografar a mensagem.
  • Shell: É basicamente uma interface de usuário, para acessar os serviços de um sistema operacional. O Shell tem uma biblioteca de comandos e o usuário que tiver conhecimento desses comandos pode fazer várias ações no sistema, desde coisas simples como: criar diretórios, compactar e mover arquivos. Até coisas mais complexas, como: visualizar processos, criar scripts, criar novos comandos, etc.

Basicamente, realizar uma conexão SSH, é acessar um servidor por uma outra máquina, e poder realizar ações nesse servidor, tudo de forma segura devido a criptografia ponta a ponta. Na imagem abaixo você pode ver uma tela comum de SSH, onde o usuário pode digitar os comandos.

Vamos aos métodos para se realizar essa conexão.

3 Formas de se realizar uma conexão SSH

Existem algumas maneiras de realizar a conexão SSH, cada uma vai ter sua particularidade e cabe a você decidir o método ideal. Os métodos a seguir partem do pressuposto de que a porta de acesso SSH está habilitada.

Nota: Caso você esteja tentando conectar em um servidor da HostGator, seria interessante antes conferir se o servidor de hospedagem em questão permite o acesso, por padrão a conexão via SSH em alguns de nossos produtos é desabilitada, mas pode ser facilmente habilitada seguindo as orientações deste guia aqui.

E caso você prefira um guia em vídeo, nosso colega Pedro preparou um material bem legal sobre isso.

1. Conectando em um servidor via SSH com senha do usuário

Um dos métodos mais utilizados, o método é também explicado nesse artigo.

Primeiro, abra seu Terminal de preferência, nesse caso utilizarei o próprio Prompt de Comando que já vem instalado no Windows.

2. Após acessar o terminal, digite o seguinte comando:

ssh -p PORTA [email protected]

Onde,

  • PORTA = Por padrão a porta utilizada é a 22, mas se você for um usuário da HostGator, e estiver tentando se conectar numa Hospedagem Compartilhada (Planos P, M, Turbo e Revendas), nesse caso a porta é a 2222.
  • USUARIO = Usuário da conta cPanel a ser acessada, ou em caso de você querer um acesso root, inserir root.
  • IP-DO-SERVIDOR = IP do servidor, seria algo como 123.45.678.9, caso saiba de um domínio que esteja apontado para o servidor da hospedagem, pode utilizar também o domínio como parâmetro aqui. Ex: ssh -p 22 [email protected]

Nesse caso preenchi assim e dei enter:

O servidor retornou a mensagem:

The authenticity of host '162.214.163.227 (162.214.163.227)' can't be established.
ECDSA key fingerprint is SHA256:0CQ6B6xGGPiFJptvy7aeDazIma9wju5geICStT4GPMs.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Essa mensagem ocorre somente na primeira vez que você estiver conectando via SSH no servidor, insira yes e de enter novamente. Deve aparecer a seguinte mensagem:

[email protected]'s password:  

Você deve inserir a senha da conta cPanel que você esta tentando acessar, ou em caso de estar acessando como root, inserir a senha do root. Nesse momento tudo que você digitar não irá gerar nenhum caracter por motivos de segurança. Insira com cuidado a senha, e de enter.

Nota: Nem todo terminal os comandos de copiar e colar funcionam (CTRL + C ou CTRL + V). Se for seu caso, podes buscar tutoriais na internet para habilitar esses comandos ou então vais ter que digitar manualmente todos os dados.

Se inseriu a senha corretamente, deve aparecer o seguinte:

Pronto. A partir de agora, qualquer comando que você rodar estará sendo feito no servidor que você acabou de se conectar. Vamos ao próximo método.

2. Conectando em um servidor via SFTP

O SFTP (SSH File Transfer Protocol) é um protocolo semelhante ao SSH, porém voltado exclusivamente a manipulação de arquivos ou seja, mover, criar, copiar, editar, compactar, descompactar, etc. Mas o interessante deste método é que quando o acesso é feito pelo usuário root por intermédio de uma ferramenta de FTP, quem acessa vai ter uma interface visual para manipular arquivos que estejam na raiz do servidor.

Nesse método, aconselho utilizar um software de FTP chamado FileZilla. Veja como fazer a instalação do FileZilla.

Ao fazer a instalação e abertura do programa, você deve encontrar essa tela:

Preencha os campos da seguinte maneira:

  • Host: IP do Servidor que você vai se conectar.
  • User: Usuário que pretende acessar, se quiser acesso root, inserir root.
  • Senha: Senha do usuário em questão.
  • Porta: 22, é a porta para SFTP especificamente.

Se inseriu os dados corretamente deverá aparecer assim, com os arquivos do servidor à direita, e o da sua máquina atual à esquerda:

Nota: Por padrão o acesso vai ser direto na pasta /root, mas clicando no diretório .. você retorna para o diretório raiz do servidor, tendo acesso a todos os arquivos dessa partição. Esse é um dos métodos mais intuitivos para realizar backups. Infelizmente o acesso SFTP pelo FileZilla não permite a realização de comandos.

3. Conectando em um servidor via chaves SSH

Considero esse o método mais seguro entre os três, ele é voltado principalmente para os casos em que o admnistrador do servidor quer dar acesso a alguma pessoa por um certo período e assim que a tarefa específica for realizada, o admnistrador pode deletar a sua chave SSH e assim fechar o acesso por esse meio. Pelo fato de não ser necessário compartilhar senhas de nenhum usuário do servidor (exceto a senha da chave SSH, que é opcional mas veremos mais a frente) o método acaba sendo o mais seguro.

Nota: O método é voltado especificamente para um servidor que tenha WHM & cPanel.

Gerando a chave SSH

Pelo cPanel

Primeiramente, acesse o cPanel e busque por Acesso SSH e clique no ícone.

Em seguida clique em Gerenciar chaves do SSH, na nova tela, clique em + Gerar uma nova chave

Preencha assim:

  • Key Name: O nome da chave, pode personalizar a chave como preferir.
  • Senha da chave: Este campo é opcional, então quando a pessoa for utilizar a chave para acessar o seu servidor, o servidor simplesmente permitirá o acesso sem necessidade de autenticação.
  • Tipo de chave: Aqui pode deixar RSA, é apenas o método de criptografia que será usado, cada um tem suas vantagens e desvantagens.
  • Tamanho da chave: Deixe 2048, campo referente a complexidade da criptografia.

Por fim, clique em Gerar chave.

Ao voltar pra página anterior, vai aparecer que nas suas chaves públicas, sua chave recém criada ainda não está autorizada, clique em Gerenciar e depois em Authorize.

Perfeito! Agora que a chave pública e privada foram geradas e autorizadas, clique em Exibir/Baixar e em seguida Baixar chave mas somente para a chave pública.

Assim que o download for realizado, siga ao passo acessando pela chave SSH.

Pelo WHM

No WHM, busque por Manage root’s SSH Keys e em seguida clique em Generate a New Key

Preencha assim:

  • Key Name: É o nome da chave, pode personalizar a chave como preferir.
  • Key Password: Este campo diferente do cPanel, não é opcional, insira uma senha de força mínima 65.
  • Key Type: Aqui pode deixar RSA, é apenas o método de criptografia que será usado, cada um tem suas vantagens e desvantagens.
  • Key Size: Deixe 2048, campo referente a complexidade da criptografia.

Por fim clique em Generate Key.

Retorne a tela anterior e em seguida clique em Manage Authorization, para permitir a utilização da chave recém criada, quando abrir a nova tela, basta clicar em Authorize.

Retorne novamente a tela anterior, e agora clique em View/Download Key no campo da Public Keys para realizar o download da chave pública (não é necessário realizar o download da Private Key).

Nota: O WHM diferentemente do cPanel, não tem um botão pra fazer o download do arquivo da chave, nesse caso podes acessar no servidor por SFTP como ensinei no método 2, ir no diretório /root/.ssh e baixar o arquivo sem o .pub, referente a chave privada que você criou :^)

Acessando pela chave SSH

Agora que a chave está criada, autorizada e baixada, mova o arquivo para a pasta C:\Users\usuario\.ssh (no meu caso o usuario = jpires)

Agora acesse o Terminal que preferir, nesse caro utilizarei o Prompt de Comando do Windows. Insira o seguinte código no Terminal:

ssh -p 22 [email protected]

Substitua:

  • USUARIO = Coloque o usuário que você quer acessar, se for como root, insira root.
  • IP-DO-SERVIDOR = Coloque o IP do Servidor que você quer se conectar

O Servidor deve responder com uma mensagem semelhante a essa:

Enter passphrase for key 'C:\Users\jpires/.ssh/id_rsa':

Aqui os caracteres digitados não irão aparecer por questões de segurança, insira a senha da chave que você criou. No fim deve ocorrer isto:

Pronto! Acesso realizado com sucesso! :^)

Considerações Finais

Espero que esses 3 métodos consigam facilitar a realizar o processo de conexão SSH, foi optado uma abordagem voltado para o windows principalmente, mas se você utiliza um sistema do qual não consegue realizar o passo a passo com esses métodos, deixa ai nos comentários que no futuro posso estar atualizando o artigo.

Deixo também como sugestão alguns materiais que foram utilizados como base pra escrever esse artigo:

Até mais! :^)