
Portable OpenSSH
OpenSSH es una implementación completa del protocolo SSH (versión 2) para inicio de sesión remoto seguro, ejecución de comandos y transferencia de archivos. Incluye un cliente ssh y un servidor sshd, utilidades de transferencia de archivos scp y sftp, así como herramientas para la generación de claves (ssh-keygen), almacenamiento de claves en tiempo de ejecución (ssh-agent) y una serie de programas auxiliares.
Esta es una adaptación (port) del OpenSSH de OpenBSD a la mayoría de los sistemas operativos tipo Unix, incluyendo Linux, OS X y Cygwin. Portable OpenSSH implementa polyfills de las API de OpenBSD que no están disponibles en otras plataformas, añade sandboxing de sshd para más sistemas operativos e incluye soporte para autenticación y auditoría nativas del sistema operativo (p. ej. mediante PAM).
La documentación oficial de OpenSSH son las páginas de manual (man) de cada herramienta:
Los archivos tarball de las versiones estables están disponibles en varios servidores de descarga (mirrors). Recomendamos el uso de una versión estable para la mayoría de los usuarios. Consulte las notas de la versión para conocer los detalles de los cambios recientes y las posibles incompatibilidades.
Portable OpenSSH se compila con autoconf y make. Requiere un compilador de C funcional, la biblioteca estándar y los encabezados correspondientes.
También se puede utilizar libcrypto de uno de los siguientes proyectos: LibreSSL, OpenSSL, AWS-LC o BoringSSL. OpenSSH puede compilarse sin ninguno de ellos, pero los binarios resultantes tendrán solo un subconjunto de los algoritmos criptográficos normalmente disponibles.
zlib es opcional; sin él, no se admite la compresión del transporte.
El soporte para tokens de seguridad FIDO requiere libfido2 y sus dependencias, y se habilitará automáticamente si se encuentran.
Además, ciertas plataformas y opciones de compilación pueden requerir dependencias adicionales; consulte README.platform para obtener detalles sobre su plataforma.
Los archivos tarball de las versiones y las ramas de versión en git incluyen una copia ya generada del script configure y se pueden compilar con:
tar zxvf openssh-X.YpZ.tar.gz
cd openssh
./configure # [options]
make && make tests
Consulte la sección Personalización en tiempo de compilación más abajo para ver las opciones de configure. Si tiene previsto instalar OpenSSH en su sistema, normalmente querrá especificar las rutas de destino.
Si compila desde la rama master de git, necesitará tener instalado autoconf para generar el script configure. Los siguientes comandos descargarán y compilarán Portable OpenSSH desde git:
git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git
cd openssh-portable
autoreconf
./configure
make && make tests
Hay muchas opciones de personalización disponibles en tiempo de compilación. Se admiten todas las opciones de Autoconf para rutas de destino (p. ej. --prefix) (y normalmente son necesarias si se desea instalar OpenSSH).
Para obtener una lista completa de las opciones disponibles, ejecute ./configure --help. A continuación se describen algunas de las más utilizadas. Algunas de estas opciones requieren que se instalen bibliotecas y/o encabezados adicionales.
El desarrollo de Portable OpenSSH se debate en la lista de correo openssh-unix-dev (espejo del archivo). Los errores y las solicitudes de funciones se gestionan en nuestro Bugzilla.
Los errores no relacionados con la seguridad pueden notificarse a los desarrolladores a través de Bugzilla o de la lista de correo anterior. Los errores de seguridad deben notificarse a [email protected].
| Flag | Significado |
|---|
--with-pam | Habilita el soporte de PAM. Se admiten OpenPAM, Linux PAM y Solaris PAM. |
--with-libedit | Habilita el soporte de libedit para sftp. |
--with-kerberos5 | Habilita el soporte Kerberos/GSSAPI. Se admiten las implementaciones de Kerberos de Heimdal y MIT. |
--with-selinux | Habilita el soporte de SELinux. |