
Portable OpenSSH
O OpenSSH é uma implementação completa do protocolo SSH (versão 2) para login remoto seguro, execução de comandos e transferência de arquivos. Ele inclui um cliente ssh e um servidor sshd, utilitários de transferência de arquivos scp e sftp, bem como ferramentas para geração de chaves (), armazenamento de chaves em tempo de execução () e vários programas de suporte.
ssh-keygenssh-agentEsta é uma porta do OpenSSH do OpenBSD para a maioria dos sistemas operacionais do tipo Unix, incluindo Linux, OS X e Cygwin. O Portable OpenSSH implementa substitutos (polyfills) para APIs do OpenBSD que não estão disponíveis em outros lugares, adiciona sandboxing do sshd para mais sistemas operacionais e inclui suporte para autenticação e auditoria nativas do sistema operacional (por exemplo, usando PAM).
A documentação oficial do OpenSSH são as páginas man de cada ferramenta:
Os tarballs das versões estáveis estão disponíveis em vários espelhos de download. Recomendamos o uso de uma versão estável para a maioria dos usuários. Leia as notas de versão para obter detalhes sobre mudanças recentes e possíveis incompatibilidades.
O Portable OpenSSH é compilado usando autoconf e make. Ele requer um compilador C funcional, biblioteca padrão e cabeçalhos.
libcrypto de uma das opções LibreSSL, OpenSSL, AWS-LC ou BoringSSL também pode ser usado. O OpenSSH pode ser compilado sem nenhuma delas, mas os binários resultantes terão apenas um subconjunto dos algoritmos criptográficos normalmente disponíveis.
zlib é opcional; sem ele, a compactação de transporte não é suportada.
O suporte a tokens de segurança FIDO requer libfido2 e suas dependências, e será ativado automaticamente se estiverem presentes.
Além disso, determinadas plataformas e opções de compilação podem exigir dependências adicionais; consulte README.platform para obter detalhes sobre sua plataforma.
Os tarballs de lançamento e os ramos de lançamento no git incluem uma cópia pré-compilada do script configure e podem ser compilados usando:
tar zxvf openssh-X.YpZ.tar.gz
cd openssh
./configure # [options]
make && make tests
Consulte a seção Personalização em tempo de compilação abaixo para conhecer as opções do configure. Se você planeja instalar o OpenSSH em seu sistema, normalmente desejará especificar os caminhos de destino.
Se você estiver compilando a partir do ramo master do git, precisará do autoconf instalado para gerar o script configure. Os seguintes comandos farão o checkout e a compilação do Portable OpenSSH a partir do git:
git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git
cd openssh-portable
autoreconf
./configure
make && make tests
Existem muitas opções de personalização em tempo de compilação disponíveis. Todos os flags de caminho de destino do Autoconf (por exemplo, --prefix) são suportados (e geralmente são necessários se você quiser instalar o OpenSSH).
Para obter uma lista completa dos flags disponíveis, execute ./configure --help, mas alguns dos mais usados são descritos abaixo. Alguns desses flags exigirão a instalação de bibliotecas e/ou cabeçalhos adicionais.
O desenvolvimento do Portable OpenSSH é discutido na lista de discussão openssh-unix-dev (espelho do arquivo). Bugs e solicitações de recursos são rastreados em nosso Bugzilla.
Bugs não relacionados à segurança podem ser relatados aos desenvolvedores via Bugzilla ou pela lista de discussão acima. Bugs de segurança devem ser relatados para [email protected].