Servidor OpenSSH

Introdução

Esta sessão do Guia de Servidor Ubuntu introduz uma poderosa coleção de ferramentas para controle remoto de computadores em rede e tranferência de dados através de computadores em rede, chamada OpenSSH. Você também aprenderá sobre algumas possíveis configurações da aplicação de servidor OpenSSH e como modificálas no seu sistema Ubuntu.

OpenSSH é uma versão disponível livremente da família de ferramentas do protocolo Secure Shell (SSH) para controlar um computador remotamente ou transferir arquivos entre computadores. Ferramentas tradicionais utilizadas para cumprir essas funções, como telnet ou rcp são inseguras e transmitem a senha de um usuário em texto puro quando utilizadas. O OpenSSH provê um servidor daemon e ferramentas de cliente para facilitar controle remoto e operações de transmissão de arquivo com segurança e criptografia, efetivamente substituindo ferramentas de legado.

O componente de servidor OpenSSH, sshd, observa constantemente conexões de clientes para qualquer das ferramentas do cliente. Quando uma requisição de conexão ocorre, sshd inicia a conexão correta dependendo do tipo de ferramenta de conexão do cliente. Por exemplo, se um computador remoto conecta-se por um cliente ssh, o servidor OpenSSH iniciará o controle remoto da sessão após autenticar. OpenSSH utiliza vários métodos de autenticação, incluindo senha simples, chave pública e tiquetes Kerberos.

Instalação

A instalação do servidor e cliente OpenSSH é simples, Para instalar o OpenSSH cliente no seu Ubuntu, use este comando no terminal:

sudo apt-get install openssh-client

Para instalar o OpenSSH servidor no seu Ubuntu, use este comando no terminal:

sudo apt-get install openssh-server

Configuração

Você pode configurar o comportamento padrão do servidor OpenSSH, sshd, editando o arquivo /etc/ssh/sshd_config. Para mais informação sobre as diretrizes de configuração usadas neste arquivo, você pode ver o manual apropriado com o seguinte comando, executado pela linha de comando:

man sshd_config

Existem muitas diretrizes no arquivo de configuração do sshd que controlam coisas como configurações de comunicação e modos de autenticação. Os seguintes são exemplos de diretrizes de configuração que podem ser modificados editando o arquivo /etc/ssh/ssh_config.

[Dica]

Antes de editar o arquivo de configuração, você deve fazer uma cópia do arquivo original e protegê-lo de escrita, para que você assim tenha os ajustes originais como uma referência e para re-usar como necessário.

Copie o arquivo /etc/ssh/sshd_config e proteja-o contra sobrescrição com com seguinte comando, executado na linha de comando:

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

Os seguintes são exemplos de diretrizes de configuração que você pode modificar:

  • Para ajustar seu OpenSSH para escutar na porta de TCP 2222 invés da porta de TCP padrão 22, modifique a diretriz Port da seguinte forma:

    Porta 2222

  • Para fazer o sshd aceitar acesso público à base de chaves credenciais, simplesmente adicione ou modifique a linha:

    PubkeyAuthentication yes

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

  • Para fazer o seu servidor OpenSSH exibir o conteúdo do arquivo /etc/issue.net como um aviso antes de conectar, simplesmente adicione ou modifique a linha:

    Banner /etc/issue.net

    no arquivo /etc/ssh/sshd_config.

Após realizar as alterações no arquivo /etc/ssh/sshd_config, salve o arquivo e reinicie o servidor de aplicações sshd para que as alterações tenham efeito. Para isto utilize o seguinte comando em um terminal:

sudo /etc/init.d/ssh restart

[Atenção]

Várias configurações adicionais de diretrizes do sshd estão disponíveis para alterar o comportamento do servidor de acordo com suas necessidades. Esteja ciente, no entanto, que se seu único método de acesso a um servidor é ssh e você comete um erro ao configurar o sshd via arquivo de configuração /etc/ssh/sshd_config, você pode torna-lo indisponível após reiniciar o servidor, ou esse servidor sshd pode recusar iniciar, devido a uma diretriz incorreta na configuração, então seja extremamente cuidadoso quando editar este arquivo num servidor remoto.

Referências

Web site OpenSSH

Página Wiki OpenSSH Avançado