 <p>Both <a href="http://www.openssl.org/" rel="nofollow">OpenSSL</a> and <a href="http://www.gnu.org/software/gnutls/" rel="nofollow">GnuTLS</a> provide full X.509/SSL/TLS cryptographic functionality, while also supporting smart cards via the <a href="http://www.opensc-project.org/opensc" rel="nofollow">OpenSC</a> library.</p> <p>I am not sure what authenticating against an SSH server implies, but you may want to have a look at the <a href="http://www.openssh.com/" rel="nofollow">OpenSSH</a> project.</p>