
Portable OpenSSH
OpenSSH è un'implementazione completa del protocollo SSH (versione 2) per accesso remoto sicuro, esecuzione di comandi e trasferimento di file. Include il client ssh e il server sshd, le utility di trasferimento file scp e sftp, oltre a strumenti per la generazione di chiavi (ssh-keygen), archiviazione delle chiavi a runtime (ssh-agent) e una serie di programmi di supporto.
Questa è una portabilità di OpenSSH di OpenBSD verso la maggior parte dei sistemi operativi simili a Unix, inclusi Linux, OS X e Cygwin. Portable OpenSSH integra le API di OpenBSD non disponibili altrove, aggiunge il sandboxing di sshd per più sistemi operativi e include il supporto per l'autenticazione e l'auditing nativi del sistema operativo (ad es. tramite PAM).
La documentazione ufficiale di OpenSSH è costituita dalle pagine man di ciascuno strumento:
Gli archivi tar delle release stabili sono disponibili presso numerosi mirror di download. Per la maggior parte degli utenti consigliamo l'uso di una release stabile. Leggere le note di rilascio per i dettagli sulle modifiche recenti e le potenziali incompatibilità.
Portable OpenSSH viene compilato con autoconf e make. Richiede un compilatore C funzionante, la libreria standard e gli header.
libcrypto di LibreSSL, OpenSSL, AWS-LC o BoringSSL può essere utilizzata. OpenSSH può essere compilato senza nessuna di queste, ma i binari risultanti avranno solo un sottoinsieme degli algoritmi crittografici normalmente disponibili.
zlib è opzionale; senza di essa la compressione del trasporto non è supportata.
Il supporto per i token di sicurezza FIDO richiede libfido2 e le sue dipendenze e verrà abilitato automaticamente se vengono trovati.
Inoltre, alcune piattaforme e opzioni di compilazione possono richiedere dipendenze aggiuntive; vedere README.platform per i dettagli sulla propria piattaforma.
Gli archivi tar delle release e i rami di release in git includono una copia precompilata dello script configure e possono essere compilati usando:
tar zxvf openssh-X.YpZ.tar.gz
cd openssh
./configure # [options]
make && make tests
Vedere la sezione Personalizzazione in fase di compilazione per le opzioni di configure. Se si prevede di installare OpenSSH sul proprio sistema, di solito si vorranno specificare i percorsi di destinazione.
Se si compila dal ramo master di git, è necessario autoconf installato per generare lo script configure. I seguenti comandi scaricheranno e compileranno Portable OpenSSH da git:
git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git
cd openssh-portable
autoreconf
./configure
make && make tests
Sono disponibili molte opzioni di personalizzazione in fase di compilazione. Tutti i flag di percorso di destinazione di Autoconf (ad es. --prefix) sono supportati (e di solito sono necessari se si desidera installare OpenSSH).
Per un elenco completo dei flag disponibili, eseguire ./configure --help; di seguito sono descritti alcuni dei più utilizzati. Alcuni di questi flag richiedono librerie e/o header aggiuntivi.
Lo sviluppo di Portable OpenSSH viene discusso nella mailing list openssh-unix-dev (mirror dell'archivio). Bug e richieste di funzionalità sono tracciati nel nostro Bugzilla.
I bug non di sicurezza possono essere segnalati agli sviluppatori tramite Bugzilla o tramite la mailing list sopra indicata. I bug di sicurezza devono essere segnalati a [email protected].
| Flag | Significato |
|---|
--with-pam | Abilita il supporto PAM. Sono supportati OpenPAM, Linux PAM e Solaris PAM. |
--with-libedit | Abilita il supporto libedit per sftp. |
--with-kerberos5 | Abilita il supporto Kerberos/GSSAPI. Sono supportate sia Heimdal che le implementazioni Kerberos MIT. |
--with-selinux | Abilita il supporto SELinux. |