O que é SSH?
SSH significa Secure Shell. Com o SSH, você pode acessar máquinas remotas de forma segura, pois a conexão é criptografada. Com o comando ssh do terminal Linux, podemos nos conectar a servidores Linux remotos e trabalhar como se fosse o nosso próprio computador. Ao final deste tutorial, você deverá ter uma compreensão completa de como usar o SSH para se conectar a um servidor remoto no Ubuntu.
Sintaxe
A sintaxe é a regra de como você pode usar o comando ssh. Você pode reorganizar a sintaxe, mas um formato direto deve ser seguido. Abaixo está um exemplo de sintaxe para usar o comando ssh:
|
1 |
ssh remote_host |
O nome de domínio ou endereço IP ao qual você deseja se conectar é o remote_host, conforme mostrado no comando acima. Esta sintaxe pressupõe que o seu nome de usuário no sistema remoto e no seu sistema local sejam os mesmos. No entanto, caso os nomes de usuário não sejam iguais, você pode indicá-lo com este comando:
|
1 |
ssh remote_username@remote_host |
Você precisará verificar sua identidade fornecendo uma senha imediatamente ao se conectar ao servidor. Digite o comando exit para voltar à sua sessão local.
Como Configurar o SSH
O arquivo de configuração principal do sshd no Ubuntu está localizado em /etc/ssh/sshd_config. Se você alterar a configuração do SSH, as configurações do servidor SSHD serão alteradas automaticamente. Antes de qualquer configuração, certifique-se de fazer um backup da versão atual do arquivo usando este comando:
|
1 |
sudo cp /etc/ssh/sshd_config{,.bak} |
Use um editor de texto para abri-lo:
|
1 |
sudo nano /etc/ssh/sshd_config |
Você deve deixar a maioria dos parâmetros como estão neste arquivo. No entanto, há algumas coisas às quais você deve prestar atenção:
|
1 |
Port 22 |
As declarações de porta indicam a porta na qual o servidor SSHD está aguardando conexões. O padrão é 22. A menos que haja motivos específicos, você não precisa alterar essa configuração:
|
1 2 3 |
HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key |
A declaração da chave de host indica onde a chave de host global está localizada:
|
1 2 |
SyslogFacility AUTH LogLevel INFO |
O nível de logs que deve ser gerado é indicado com estes dois itens. Se você tiver problemas ao usar o SSH, uma excelente maneira de identificar o problema é aumentar a quantidade de logs:
|
1 2 3 |
LoginGraceTime 120 PermitRootLogin yes StrictModes yes |
Estas opções definem algumas informações para o login para evitar login não autorizado quando os arquivos de configuração estão inseguros:
|
1 2 |
X11Forwarding yes X11DisplayOffset 10 |
Essas configurações de parâmetros são referidas como funções de encaminhamento X11. Dessa forma, você pode exibir a interface gráfica (GUI) do sistema remoto no sistema local. Você deve habilitar essa opção no servidor ao se conectar com a opção -X no cliente SSH.
Depois de fazer as alterações, salve o arquivo e feche-o pressionando CTRL-X e Y e, em seguida, pressione Enter. Se você alterar as configurações em / etc / ssh / sshd_config, deverá reiniciar o servidor sshd para aplicar a alteração:
|
1 |
sudo service ssh restart |
Para sistemas systemd, como o Ubuntu 16.04 ou Debian Jessie, use este comando:
|
1 |
sudo systemctl restart ssh |
Teste suas alterações minuciosamente para garantir que tudo esteja funcionando perfeitamente. Você provavelmente deve manter algumas sessões ativas se fizer qualquer alteração. Dessa forma, você pode restaurar a configuração se necessário.
Como você faz login no SSH com chaves? É bom fazer login em um sistema remoto com uma senha. No entanto, o ideal é configurar a autenticação baseada em chave.
O que é Autenticação Baseada em Chave?
A autenticação baseada em chaves cria dois pares de chaves chamados de chave privada e chave pública. A chave privada é encontrada no computador do usuário e foi protegida e mantida em segredo. A chave pública pode ser disponibilizada para qualquer pessoa ou armazenada em qualquer servidor que você queira acessar. Se você tentar se conectar usando um par de chaves, o servidor usará a chave pública para gerar uma mensagem para o computador do usuário. O usuário só pode ler a mensagem usando uma chave privada. O computador do usuário envia então uma resposta de volta para o servidor e o servidor sabe que o usuário é legítimo. Depois de configurar a chave, todo o processo é concluído automaticamente em segundo plano.
Como criar chaves SSH
As chaves SSH devem ser geradas no computador a partir do qual você deseja fazer login. Geralmente, este é o seu computador local. Digite o seguinte na linha de comando:
|
1 |
ssh-keygen -t rsa |
Em seguida, aceite os padrões pressionando a TECLA ENTER. Isso gerará suas chaves em ~/.ssh/id_rsa.pub e ~/.ssh/id_rsa. Em seguida, digite o comando abaixo para mudar para o diretório .ssh:
|
1 |
cd ~/.ssh |
Estas são as permissões dos arquivos:
|
1 |
ls -l |

Como você pode ver, apenas o proprietário pode ler e gravar o arquivo id_rsa. Portanto, você deve mantê-lo seguro. No entanto, você pode compartilhar o arquivo id_rsa.pub e ter as permissões apropriadas para esta atividade. O próximo passo é transferir a chave pública para o servidor usando esta sintaxe:
|
1 |
ssh-copy-id remote_host |
Isso inicia uma sessão SSH e você deve usar uma senha para autenticação. Depois de inserir a senha, sua chave pública será copiada para o arquivo de chaves autorizadas do servidor para que você possa fazer login na próxima vez sem uma senha.
Como desativar a autenticação por senha
Se uma chave SSH for gerada, você poderá melhorar a segurança do servidor desativando a autenticação apenas por senha. Você pode fazer login no servidor usando a chave privada com a chave pública instalada no servidor em vez de usar o console.
Nota: Certifique-se de ter instalado a chave pública no servidor antes de prosseguir com esta etapa. Caso contrário, você será bloqueado!
Abra o arquivo de configuração do sshd usando este comando:
|
1 |
sudo nano /etc/ssh/sshd_config |
Encontre e desmarque a linha que faz a verificação de autenticação por senha excluindo o # no início. Então você pode alterar o valor para “no”:
|
1 |
PasswordAuthentication no |
O PubkeyAuthentication e o ChallengeResponseAuthentication são definidos por padrão e devem ser parecidos com isto:
|
1 2 |
PubkeyAuthentication yes ChallengeResponseAuthentication no |
Você não deve alterar essas duas configurações. Depois disso, salve o arquivo e feche-o assim que fizer as alterações. Em seguida, use o comando abaixo para reiniciar o daemon do SSH:
|
1 |
sudo systemctl restart ssh |
Finalmente, você desativou a autenticação por senha, e seu servidor só poderá ser acessado usando a autenticação por chave SSH.
Conclusão
Neste tutorial, mostramos como usar o SSH para se conectar a um servidor remoto de forma segura no Ubuntu. Aprender a usar o SSH é fundamental se você for um administrador de sistemas, portanto, após dominar este tutorial, você poderá prosseguir com funcionalidades mais avançadas do SSH.
Boa computação!

Comments
No comments yet. Be the first.