Pesquisa de site

Como instalar o servidor OpenSSH da fonte no Linux


OpenSSH é uma implementação gratuita e de código aberto completa do protocolo SSH 2.0, que fornece uma série de ferramentas para acessar e gerenciar com segurança sistemas de computadores remotos e gerenciar chaves de autenticação, como ssh (um substituto seguro para telnet), scp, sftp (substituto seguro para ftp), ssh-keygen, ssh-copy-id, ssh-add e muito mais.

Recentemente o OpenSSH 9.3 foi lançado e vem com muitos novos recursos e correções de bugs; você pode ler as notas de versão do SSH para obter mais informações.

Neste artigo, explicaremos como instalar e configurar a versão mais recente do servidor e cliente OpenSSH em um sistema Linux a partir de fontes. Presumimos que você já tenha uma instalação do pacote OpenSSH.

Requisitos:

  • Um sistema Debian/Ubuntu ou RHEL/CentOS Linux
  • Compilador C
  • Zlib 1.1.4 ou 1.2.1.2 ou superior
  • LibreSSL ou OpenSSL >= 1.0.1 < 1.1.0

Instale o servidor OpenSSH da fonte

Antes de instalar a versão mais recente do SSH, certifique-se de verificar a versão atual do SSH instalada em seu sistema usando o seguinte comando.

ssh -V

OpenSSH_7.7p2 Ubuntu-4ubuntu2.5, OpenSSL 1.0.2g	1 Mar 2016

A partir do resultado acima, a versão do OpenSSH instalada é 7.7, para instalar a versão mais recente do OpenSSH, primeiro você precisa instalar algumas dependências, ou seja, ferramentas de desenvolvimento ou fundamentos de construção e outros pacotes necessários, conforme segue.

-------------- On RedHat-based Distros --------------
sudo yum update
sudo yum group install 'Development Tools'
sudo yum install zlib-devel openssl-devel

-------------- On Debian-based Distros --------------
sudo apt update 
sudo apt install build-essential zlib1g-dev libssl-dev 

Para criar um ambiente adequado para instalação do servidor OpenSSH, precisamos criar um novo usuário e grupo de sistema chamado “sshd”, bem como um local seguro para chroot.

sudo mkdir /var/lib/sshd
sudo chmod -R 700 /var/lib/sshd/
sudo chown -R root:sys /var/lib/sshd/
sudo useradd -r -U -d /var/lib/sshd/ -c "sshd privsep" -s /bin/false sshd

Explicando os sinalizadores no comando useradd acima:

  • -r – diz ao useradd para criar um usuário do sistema
  • -U – instrui a criar um grupo com o mesmo nome e ID de grupo
  • -d – especifica o diretório do usuário
  • -c – usado para adicionar um comentário
  • -s – especifica o shell do usuário

Agora, baixe o tarball do OpenSSH versão 9.3 de qualquer um dos espelhos HTTP disponíveis ou você pode usar o seguinte comando wget para fazer o download diretamente em seu terminal.

wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz
tar -xzf openssh-9.3p1.tar.gz
cd openssh-9.3p1/

Agora vamos construir e instalar o servidor OpenSSH usando --with-md5-passwords, --with-privsep-path e --sysconfdir opções, que instalarão todos os arquivos em /usr/local/ (este é o PREFIXO de instalação padrão).

Você pode ver todas as opções disponíveis executando ./configure -h e personalizando ainda mais sua instalação.

./configure -h

Por exemplo, para ativar o suporte PAM e SELinux, adicione as opções --with-pam e --with-selinux, respectivamente, você precisa instalar todos os arquivos de cabeçalho necessários para eles trabalharem.

## Install PAM and SELinux Headers ##
sudo apt install libpam0g-dev libselinux1-dev   [On Debian/Ubuntu]
sudo yum install pam-devel libselinux-devel     [On CentOS/RHEL]

## Compile and Install SSH from Sources ##
./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh 
make
sudo make install 

Depois de instalar o OpenSSH, reinicie o SSH ou abra outra janela de terminal e verifique a versão do OpenSSH agora instalada em seu sistema.

ssh -V

OpenSSH_9.3p1, OpenSSL 3.0.1 14 Dec 2021

Os vários arquivos de configuração do OpenSSH estão localizados em:

  • ~/.ssh/* – este diretório armazena configurações e chaves do cliente ssh específicas do usuário (aliases ssh).
  • /etc/ssh/ssh_config – este arquivo contém configurações do cliente SSH para todo o sistema.
  • /etc/ssh/sshd_config – contém configurações de serviço sshd.

Para configurar aliases SSH, consulte: Como configurar conexões SSH personalizadas para simplificar o acesso remoto

Você também pode ler os seguintes artigos relacionados ao SSH.

É isso! Neste artigo, explicamos como instalar e configurar a versão mais recente do servidor OpenSSH de uma fonte em um sistema Linux. Se você tiver alguma dúvida ou comentário, use o formulário de feedback abaixo para entrar em contato conosco.