aboutsummaryrefslogtreecommitdiff
path: root/doc/introduction.dox
blob: 9aca63e19867ab719784c3abcede1a545daea2b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/**
@page tutorial The Tutorial
@section introduction Introduction

libssh is a C library that enables you to write a program that uses the
SSH protocol. With it, you can remotely execute programs, transfer
files, or use a secure and transparent tunnel for your remote programs.
The SSH protocol is encrypted, ensures data integrity, and provides strong
means of authenticating both the server of the client. The library hides
a lot of technical details from the SSH protocol, but this does not
mean that you should not try to know about and understand these details.

libssh is a Free Software / Open Source project. The libssh library
is distributed under LGPL license. The libssh project has nothing to do with
"libssh2", which is a completly different and independant project.

libssh can run on top of either libgcrypt (http://directory.fsf.org/project/libgcrypt/)
or libcrypto (http://www.openssl.org/docs/crypto/crypto.html), two general-purpose
cryptographic libraries.

This tutorial concentrates for its main part on the "client" side of libssh.
To learn how to accept incoming SSH connexions (how to write a SSH server),
you'll have to jump to the end of this document.

This tutorial describes libssh version 0.5.0. This version is the development
version and is *not* published yet. However, the examples should work with
little changes on versions like 0.4.2 and later.


Table of contents:

@subpage guided_tour

@subpage authentication

@subpage shell

@subpage command

@subpage sftp

@subpage scp

@subpage forwarding

@subpage threads

@subpage tbd

*/