xref: /netbsd-src/crypto/external/bsd/openssh/dist/ssh.h (revision 2d3b0f52dcde5e4d743340648f4f266a1ed1f05c)
1 /*	$NetBSD: ssh.h,v 1.13 2020/12/04 18:42:50 christos Exp $	*/
2 /* $OpenBSD: ssh.h,v 1.90 2020/07/14 23:57:01 djm Exp $ */
3 
4 /*
5  * Author: Tatu Ylonen <ylo@cs.hut.fi>
6  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
7  *                    All rights reserved
8  *
9  * As far as I am concerned, the code I have written for this software
10  * can be used freely for any purpose.  Any derived versions of this
11  * software must be clearly marked as such, and if the derived work is
12  * incompatible with the protocol description in the RFC file, it must be
13  * called by a name other than "ssh" or "Secure Shell".
14  */
15 
16 /* Cipher used for encrypting authentication files. */
17 #define SSH_AUTHFILE_CIPHER	SSH_CIPHER_3DES
18 
19 /* Default port number. */
20 #define SSH_DEFAULT_PORT	22
21 
22 /*
23  * Maximum number of certificate files that can be specified
24  * in configuration files or on the command line.
25  */
26 #define SSH_MAX_CERTIFICATE_FILES	100
27 
28 /*
29  * Maximum number of RSA authentication identity files that can be specified
30  * in configuration files or on the command line.
31  */
32 #define SSH_MAX_IDENTITY_FILES		100
33 
34 /*
35  * Major protocol version.  Different version indicates major incompatibility
36  * that prevents communication.
37  *
38  * Minor protocol version.  Different version indicates minor incompatibility
39  * that does not prevent interoperation.
40  */
41 #define PROTOCOL_MAJOR_1	1
42 #define PROTOCOL_MINOR_1	5
43 
44 /* We support only SSH2 */
45 #define PROTOCOL_MAJOR_2	2
46 #define PROTOCOL_MINOR_2	0
47 
48 /*
49  * Name for the service.  The port named by this service overrides the
50  * default port if present.
51  */
52 #define SSH_SERVICE_NAME	"ssh"
53 
54 /*
55  * Name of the environment variable containing the process ID of the
56  * authentication agent.
57  */
58 #define SSH_AGENTPID_ENV_NAME	"SSH_AGENT_PID"
59 
60 /*
61  * Name of the environment variable containing the pathname of the
62  * authentication socket.
63  */
64 #define SSH_AUTHSOCKET_ENV_NAME "SSH_AUTH_SOCK"
65 
66 /*
67  * Environment variable for overwriting the default location of askpass
68  */
69 #define SSH_ASKPASS_ENV		"SSH_ASKPASS"
70 
71 /*
72  * Environment variable to control whether or not askpass is used.
73  */
74 #define SSH_ASKPASS_REQUIRE_ENV		"SSH_ASKPASS_REQUIRE"
75 
76 /*
77  * Force host key length and server key length to differ by at least this
78  * many bits.  This is to make double encryption with rsaref work.
79  */
80 #define SSH_KEY_BITS_RESERVED		128
81 
82 /*
83  * Length of the session key in bytes.  (Specified as 256 bits in the
84  * protocol.)
85  */
86 #define SSH_SESSION_KEY_LENGTH		32
87 
88 /* Used to identify ``EscapeChar none'' */
89 #define SSH_ESCAPECHAR_NONE		-2
90 
91 /* Name of Kerberos service for SSH to use. */
92 #define KRB4_SERVICE_NAME		"rcmd"
93 
94 /*
95  * unprivileged user when UsePrivilegeSeparation=yes;
96  * sshd will change its privileges to this user and its
97  * primary group.
98  */
99 #define SSH_PRIVSEP_USER		"sshd"
100 
101 /* Listen backlog for sshd, ssh-agent and forwarding sockets */
102 #define SSH_LISTEN_BACKLOG		128
103 
104 /* Limits for banner exchange */
105 #define SSH_MAX_BANNER_LEN		8192
106 #define SSH_MAX_PRE_BANNER_LINES	1024
107