OpenSSH é uma implementação completa do protocolo SSH (versão 2) para login remoto seguro, execução de comandos e transferência de arquivos. 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 ( ssh-keygen
), armazenamento de chaves em tempo de execução ( ssh-agent
) e vários programas de suporte.
Esta é uma porta do OpenSSH do OpenBSD para a maioria dos sistemas operacionais do tipo Unix, incluindo Linux, OS X e Cygwin. OpenSSH portátil polyfills APIs OpenBSD que não estão disponíveis em outros lugares, adiciona sandboxing sshd para mais sistemas operacionais e inclui suporte para autenticação e auditoria nativa do sistema operacional (por exemplo, usando PAM).
A documentação oficial do OpenSSH são as páginas de manual de cada ferramenta:
ssh(1)
sshd(8)
ssh-keygen(1)
agente ssh(1)
scp(1)
sftp(1)
ssh-keyscan(8)
servidor sftp (8)
Tarballs de versão estável 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 lançamento para obter detalhes sobre alterações recentes e possíveis incompatibilidades.
OpenSSH portátil é construído usando autoconf e make. Requer um compilador C funcional, biblioteca padrão e cabeçalhos.
libcrypto
de LibreSSL ou OpenSSL também pode ser usado. O OpenSSH pode ser construído sem qualquer um deles, 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 ao token de segurança FIDO precisa de libfido2 e suas dependências e será habilitado automaticamente se forem encontrados.
Além disso, certas plataformas e opções de tempo de construção podem exigir dependências adicionais; consulte README.platform para obter detalhes sobre sua plataforma.
Os tarballs e ramificações de lançamento no git incluem uma cópia pré-construída do script configure
e podem ser construídos usando:
tar zxvf openssh-X.YpZ.tar.gz cd openssh ./configure # [options] make && make tests
Consulte a seção Personalização em tempo de construção abaixo para opções de configuração. Se você planeja instalar o OpenSSH em seu sistema, normalmente você desejará especificar os caminhos de destino.
Se estiver construindo a partir do branch git master, você precisará do autoconf instalado para construir o script configure
. Os comandos a seguir verificarão e criarão OpenSSH portátil 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 construção disponíveis. Todos os sinalizadores de caminho de destino do Autoconf (por exemplo, --prefix
) são suportados (e geralmente são necessários se você deseja instalar o OpenSSH).
Para obter uma lista completa de sinalizadores disponíveis, execute ./configure --help
mas alguns dos mais usados são descritos abaixo. Alguns desses sinalizadores exigirão a instalação de bibliotecas e/ou cabeçalhos adicionais.
Bandeira | Significado |
---|---|
--with-pam | Habilite o suporte PAM. OpenPAM, Linux PAM e Solaris PAM são suportados. |
--with-libedit | Habilite o suporte libedit para sftp. |
--with-kerberos5 | Ative o suporte Kerberos/GSSAPI. As implementações Heimdal e MIT Kerberos são suportadas. |
--with-selinux | Habilite o suporte SELinux. |
O desenvolvimento portátil do OpenSSH é discutido na lista de discussão openssh-unix-dev (espelho de 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].