FSCONS Göteborg, November 14 th  2009
Your humble presenter Daniel Stenberg
Consultant at Haxx
Open Source since 15 years
Contributed to 20+ projects
15K public commits
cURL, Rockbox etc
Questions Please do interrupt and ask if you have questions!
Agenda What is SSH
Background
Why a lib is needed
The project
Basic design License
App examples
Competitors
Future
Contributors
SSH explained Secure Shell or SSH is a  network protocol that allows data to be exchanged using a secure channel between two networked devices
On top of TCP/IP
Invented by Tatu Ylönen in 1995
OpenSSH 1999
Internet Standard 2002, RFC4251 and friends
SSH is not SSL but similarities exist
 
A little story Once upon a time...
1997 Wouldn't it be nice with a tool that grabs HTTP?
1998 Wouldn't it be nice if it did FTP too?
1999 And Gopher!
1999 Wouldn't it be nice if it did HTTPS too?
2000 You get the picture. Time moved on. It was now also a lib

Libssh2 at FSCONS 2009

Editor's Notes

  • #3 Commits counted by ohloh c-ares, Subversion
  • #17 SSH v1 is deemed insecure and is widely abandoned anyway
  • #20 Libssh2 supports the different layers
  • #21 Gcrypt or OpenSSL Knownhost works with OpenSSH style knownhost files
  • #23 See how its almost the same, just a little extra cruft added for SFTP instead of SCP.
  • #24 An additional abstraction layer. Most useful if you deal with more than one protocol, or perhaps if you want to work easily with many parallell transfers with ease.
  • #25 SCP speed is on par with OpenSSH SFTP speed is lesser than OpenSSH due to protocol complexity and how the libssh2 API works and the work needed to fix it. Faster than libssh still Features wise, it offers a lot. Bug wise it is fairly stable and solid, even if there still are bugs appearing that need to be fixed. Several existing commercial applications are relying on libssh2.
  • #26 BSD without advertising clause
  • #27 Libssh is LGPL
  • #29 Like most projects, this never ends
  • #31 We need your help