Servidor OpenSSH

Introdução

This section of the Ubuntu Server Guide introduces a powerful collection of tools for the remote control of networked computers and transfer of data between networked computers, called OpenSSH. You will also learn about some of the configuration settings possible with the OpenSSH server application and how to change them on your Ubuntu system.

OpenSSH é uma versão livre do protocolo Secure Shell (SSH) e da família de ferramentas para controlar remotamente um computador ou transferir ficheiros entre computadores. Ferramentas tradicionais para executar essas funções, tais como telnet ou rcp, são inseguras e transmitem as palavras passe dos utilizadores em texto simples quando utilizadas. O OpenSSH fornece um serviço para o servidor e ferramentas cliente para facilitar um controlo remoto seguro, codificado e operações de transferência de ficheiros, substituindo efectivamente as ferramentas padrão.

O componente sshd do servidor OpenSSH, aguarda continuamente ligações de qualquer das ferramentas dos clientes. Quando um pedido de ligação ocorre, o sshd configura a ligação correcta dependendo do tipo de ferramenta do cliente que se está a ligar. Por exemplo, se o computador remoto se está a ligar com a aplicação cliente ssh, o processo do servidor OpenSSH inicia uma ligação de controlo remoto após a autenticação. Se o utilizador remoto usa uma aplicação scp o processo do servidor OpenSSH inicia uma cópia segura dos ficheiros entre o servidor e o cliente após a autenticação. O OpenSSH pode utilizar vários métodos de autenticação, incluindo palavras passe simples, chaves públicas e senhas Kerberos.

Instalação

A instalação das aplicações cliente e servidor do OpenSSH é simples. Para instalar a aplicação cliente OpenSSH no seu sistema Ubuntu, utilize este comando num terminal:

sudo apt-get install openssh-client

Para instalar a aplicação servidor OpenSSH, e ficheiros de suporte associados, utilize este comando num terminal:

sudo apt-get install openssh-server

Configuração

Pode alterar o comportamento predefinido da aplicação servidor OpenSSH, sshd, editando o ficheiro /etc/ssh/sshd_config. Para informações sobre as directivas de configuração usadas neste ficheiro, pode consultar a página de manual apropriada com o seguinte comando, executado num terminal:

man sshd_config

Existem muitas directivas no ficheiro de configuração do sshd controlando coisas como as configurações das comunicações e os modos de autenticação. De seguida apresentam-se exemplos de directivas de configuração que podem ser alteradas ao editar o ficheiro /etc/ssh/ssh_config.

[Dica]

Antes de editar o ficheiro de configuração, deverá fazer uma cópia do original e protegê-lo contra escrita por forma a ter sempre as configurações originais como referência ou para o reutilizar se necessário.

Copie o ficheiro /etc/ssh/sshd_config e proteja-o contra escrita com os seguintes comandos, executados num terminal:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original

A seguir apresentam-se exemplos de directivas que pode alterar:

  • Para ajustar o OpenSSH para aceitar pedidos (escutar) o protocolo TCP na porta 2222, em vez da porta por omissão TPC porta 22, altere a directiva Port como se segue:

    Port 2222

  • Para fazer com que o sshd permita credenciais de login baseadas em chaves públicas, adicione simplesmente a linha seguinte:

    PubkeyAuthentication yes

    no ficheiro /etc/ssh/sshd_config, ou se a linha já estiver presente assegure-se de que não está comentada.

  • Para fazer com que o seu servidor OpenSSH mostre o conteúdo do ficheiro /etc/issue.net como uma mensagem de pré-login, adicione simplesmente ou modifique a seguinte linha:

    Banner /etc/issue.net

    no ficheiro /etc/ssh/sshd_config.

Após a marcação de alterações no ficheiro /etc/ssh/sshd_config, grave o ficheiro e reinicie a aplicação servidor sshd para tornar efectivas as alterações utilizando o comando seguinte num terminal:

sudo /etc/init.d/ssh restart

[Atenção]

Muitas outras directivas de configuração para o sshd estão disponíveis para alterar o comportamento do servidor de forma a satisfazer as suas necessidades pessoais. Tenha em atenção que, se o seu único método de acesso ao servidor for via ssh, e se ocorrer um erro na configuração do sshd ao alterar o ficheiro /etc/ssh/sshd_config, poderá ficar bloqueado do lado de fora após reiniciar o servidor, ou que a aplicação de servidor sshd se recuse a iniciar em virtude de uma directiva de configuração incorrecta. Assim, tenha especial atenção quando edita este ficheiro remotamente.

Referências

Sítio web do OpenSSH

Página wiki do OpenSSH avançado