Introduction Why port? Greater audience Porting exposes wrong assumptions and latent bugs What we will cover? Platform differences: simple, complex and dangerous Portable OpenSSH's approach to dealing with them API choice Our focus: C language with a reasonably modern Unix/POSIX API Inclination towards free software OpenSSH The most widely-used SSH implementation on the Internet Primary version is maintained in OpenBSD's CVS tree Portability team makes it run on 25+ platforms This arrangement works surprisingly well