aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssh/doc/src/ssh_ug.xml
blob: 0b040a59fd94e67a06a85869cadd896da72e90b4 (plain) (blame)
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">
<!-- %EricssonCopyright% -->
<chapter>
  <header>
    <copyright>
      <year>2011</year>
      <holder>Ericsson AB. All Rights Reserved.</holder>
    </copyright>
    <legalnotice>
      The program may be used and/or copied only with the written permission from
      Ericsson AB, or in accordance with the terms and conditions stipulated in
      the agreement/contract under which the program has been supplied.
    </legalnotice>
    <title>SSH</title>
    <prepared>OTP</prepared>
    <docno></docno>
    <date></date>
    <rev>A</rev>
    <file>ssh_ug.xml</file>
  </header>

  <section>
    <title>Introduction</title>
    <p>The Secure Shell (SSH) is a transport protocol. For more detailed information,
       see the following RFCs:
    </p>
    <list type="bulleted">
      <item><url href="http://www.ietf.org/rfc/rfc4250.txt">RFC 4250</url> -
            Protocol Assigned Numbers.</item>
      <item><url href="http://www.ietf.org/rfc/rfc4251.txt">RFC 4251</url> -
            Protocol Architecture.</item>
      <item><url href="http://www.ietf.org/rfc/rfc4252.txt">RFC 4252</url> -
            Authentication Protocol.</item>
      <item><url href="http://www.ietf.org/rfc/rfc4253.txt">RFC 4253</url> -
            Transport Layer Protocol.</item>
      <item><url href="http://www.ietf.org/rfc/rfc4254.txt">RFC 4254</url> -
            Connection Protocol.</item>
      <item><url href="http://www.ietf.org/rfc/rfc4255.txt">RFC 4255</url> -
            Key Fingerprints.</item>
      <item><url href="http://www.ietf.org/rfc/rfc4344.txt">RFC 4344</url> -
            Transport Layer Encryption Modes.</item>
      <item><url href="http://www.ietf.org/rfc/rfc4716.txt">RFC 4716</url> -
            Public Key File Format.</item>
    </list>

    <p>The SSH application is an implementation of the SSH protocol
       in Erlang. Conceptually it can be partitioned into four layers:</p>

   <image file="SSH_protocols.png">
     <icaption>SSH Protocol Dependencies</icaption>
   </image>

  </section>

  <section>
    <title>Overview</title>
    <p>The SSH application supports:</p>

    <list type="bulleted">
      <item><em>Subsystem</em> - user-named services such as <seealso marker="ssh_sftp">ssh_sftp</seealso>.
            The user can also add other subsystems (e.g. NETCONF).</item>
      <item><em>Shell</em> - interactive shell.</item>
      <item><em>Exec</em> - one-time remote execution (i.e. SCP). See <seealso marker="ssh_connection#exec-4">ssh_connection:exec/4</seealso></item>
    </list>


  </section>

  <section>
    <title>Configuration and Start</title>

    <p>Before the SSH application can be used, there are two things that must be fulfilled:</p>
    <list type="bulleted">
      <item>The <seealso marker="crypto:crypto">Crypto</seealso> application is started before SSH is.</item>
      <item>The <seealso marker="public_key:public_key">Public_key</seealso> application is loaded when
        running an embedded system.</item>
    </list>

    <section>
      <title>Server Side</title>
      <marker id="daemon"></marker>
      <p>When SSH is supposed to run as server, the function <seealso marker="ssh#daemon-3">ssh:daemon/[1, 2, 3]</seealso> needs to
         be used to start the daemon. </p>

    </section>
    <section>
      <title>Client Side</title>
      <marker id="client"></marker>
      <p>The client.</p>

    </section>
  </section>

</chapter>