aboutsummaryrefslogtreecommitdiff
path: root/doc/introduction.dox
blob: cf35db62f9345992abf7c68010ff0e95ec2919b0 (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 libssh_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 libssh_tutor_guided_tour

@subpage libssh_tutor_authentication

@subpage libssh_tutor_shell

@subpage libssh_tutor_command

@subpage libssh_tutor_sftp

@subpage libssh_tutor_scp

@subpage libssh_tutor_forwarding

@subpage libssh_tutor_threads

@subpage libssh_tutor_todo

*/