summaryrefslogtreecommitdiff
path: root/debian/README.Debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian/README.Debian')
-rw-r--r--debian/README.Debian229
1 files changed, 229 insertions, 0 deletions
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 000000000..4b6875d2c
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,229 @@
1OpenSSH for Debian
2------------------
3
4Although this package is widely referred to as OpenSSH, it is actually
5a branch of an early version of ssh which has been tidied up by the
6OpenBSD folks.
7
8It has been decided that this version should have the privilege of
9carrying the ``ssh'' name in Debian, since it is the only version of
10ssh that is going to make it into Debian proper, being the only one
11that complies with the Debian Free Software Guidelines.
12
13If you were expecting to get the non-free version of ssh (1.2.27 or
14whatever) when you installed this package, then you're out of luck, as
15Debian don't ship it.
16
17=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
18
19UPGRADE ISSUES
20==============
21
22Privilege Separation
23--------------------
24
25As of 3.3, openssh has employed privilege separation to reduce the
26quantity of code that runs as root, thereby reducing the impact of
27some security holes in sshd.
28
29Unfortunately, privilege separation interacts badly with PAM. Any PAM
30session modules that need to run as root (pam_mkhomedir, for example)
31will fail, and PAM keyboard-interactive authentication won't work.
32
33Privilege separation is turned on by default, so if you decide you
34want it turned off, you need to add "UsePrivilegeSeparation no" to
35/etc/ssh/sshd_config
36
37PermitRootLogin set to yes
38--------------------------
39
40This is now the default setting (in line with upstream), and people
41who asked for an automatically-generated configuration file when
42upgrading from potato (or on a new install) will have this setting in
43their /etc/ssh/sshd_config file.
44
45Should you wish to change this setting, edit /etc/ssh/sshd_config, and
46change:
47PermitRootLogin yes
48to:
49PermitRootLogin no
50
51Having PermitRootLogin set to yes means that an attacker that knows
52the root password can ssh in directly (without having to go via a user
53account). If you set it to no, then they must compromise a normal user
54account. In the vast majority of cases, this does not give added
55security; remember that any account you su to root from is equivalent
56to root - compromising this account gives an attacker access to root
57easily. If you only ever log in as root from the physical console,
58then you probably want to set this value to no.
59
60As an aside, PermitRootLogin can also be set to "without-password" or
61"forced-commands-only" - see sshd(8) for more details.
62
63DO NOT FILE BUG REPORTS SAYING YOU THINK THIS DEFAULT IS INCORRECT!
64
65The argument above is somewhat condensed; I have had this discussion
66at great length with many people. If you think the default is
67incorrect, and feel strongly enough to want to argue with me about it,
68then send me email to matthew@debian.org. I will close bug reports
69claiming the default is incorrect.
70
71SSH now uses protocol 2 by default
72----------------------------------
73
74This means all your keyfiles you used for protocol version 1 need to
75be re-generated. The server keys are done automatically, but for RSA
76authentication, please read the ssh-keygen manpage.
77
78If you have an automatically generated configuration file, and decide
79at a later stage that you do want to support protocol version 1 (not
80recommended, but note that the ssh client shipped with Debian potato
81only supported protocol version 1), then you need to do the following:
82
83Change /etc/ssh/sshd_config such that:
84Protocol 2
85becomes:
86Protocol 2,1
87Also add the line:
88HostKey /etc/ssh/ssh_host_key
89
90If you do not already have an RSA1 host key in /etc/ssh/ssh_host_key,
91you will need to generate one. To do so, run this command as root:
92
93 ssh-keygen -f /etc/ssh/ssh_host_key -N '' -t rsa1
94
95X11 Forwarding
96--------------
97
98ssh's default for ForwardX11 has been changed to ``no'' because it has
99been pointed out that logging into remote systems administered by
100untrusted people is likely to open you up to X11 attacks, so you
101should have to actively decide that you trust the remote machine's
102root, before enabling X11. I strongly recommend that you do this on a
103machine-by-machine basis, rather than just enabling it in the default
104host settings.
105
106In order for X11 forwarding to work, you need to install xauth on the
107server. In Debian this is in the xbase-clients package.
108
109As of OpenSSH 3.1, the remote $DISPLAY uses localhost by default to reduce
110the security risks of X11 forwarding. Look up X11UseLocalhost in
111sshd_config(8) if this is a problem.
112
113Fallback to RSH
114---------------
115
116The default for this setting has been changed from Yes to No, for
117security reasons, and to stop the delay attempting to rsh to machines
118that don't offer the service. Simply switch it back on in either
119/etc/ssh/ssh_config or ~/.ssh/config for those machines that you need
120it for.
121
122Setgid ssh-agent and environment variables
123------------------------------------------
124
125As of version 1:3.5p1-1, ssh-agent is installed setgid to prevent ptrace()
126attacks retrieving private key material. This has the side-effect of causing
127glibc to remove certain environment variables which might have security
128implications for set-id programs, including LD_PRELOAD, LD_LIBRARY_PATH, and
129TMPDIR.
130
131If you need to set any of these environment variables, you will need to do
132so in the program exec()ed by ssh-agent. This may involve creating a small
133wrapper script.
134
135Symlink Hostname invocation
136---------------------------
137
138This version of ssh no longer includes support for invoking ssh with the
139hostname as the name of the file run. People wanting this support should
140use the ssh-argv0 script.
141
142=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
143
144OTHER ISSUES
145============
146
147/usr/bin/ssh not SUID
148---------------------
149
150Due to Debian bug #164325, RhostsRSAAuthentication can only be used if ssh
151is SUID. Until this is fixed, if that is a problem, use:
152
153 dpkg-statoverride
154
155or if that's also missing, use this:
156
157 chown root.root /usr/bin/ssh
158 chmod 04755 /usr/bin/ssh
159
160Authorization Forwarding
161------------------------
162
163Similarly, root on a remote server could make use of your ssh-agent
164(while you're logged into their machine) to obtain access to machines
165which trust your keys. This feature is therefore disabled by default.
166You should only re-enable it for those hosts (in your ~/.ssh/config or
167/etc/ssh/ssh_config) where you are confident that the remote machine
168is not a threat.
169
170Problems logging in with RSA authentication
171-------------------------------------------
172
173If you have trouble logging in with RSA authentication then the
174problem is probably caused by the fact that you have your home
175directory writable by group, as well as user (this is the default on
176Debian systems).
177
178Depending upon other settings on your system (i.e. other users being
179in your group) this could open a security hole, so you will need to
180make your home directory writable only by yourself. Run this command,
181as yourself:
182
183 chmod g-w ~/
184
185to remove group write permissions. If you use ssh-copy-id to install your
186keys, it does this for you.
187
188-L option of ssh nonfree
189------------------------
190
191non-free ssh supported the usage of the option -L to use a non privileged
192port for scp. This option will not be supported by scp from openssh.
193
194Please use instead scp -o "UsePrivilegedPort=no" as documented in the
195manpage to scp itself.
196
197Problem logging in because of TCP-Wrappers
198------------------------------------------
199
200ssh is compiled with support for tcp-wrappers. So if you can no longer
201log into your system, please check that /etc/hosts.allow and /etc/hosts.deny
202are configured so that ssh is not blocked.
203
204Kerberos Authentication
205-----------------------
206
207ssh is compiled without support for kerberos authentication, and there are
208no current plans to support this. Thus the KerberosAuthentication and
209KerberosTgtPassing options will not be recognised.
210
211Interoperability between scp and the ssh.com SSH server
212-------------------------------------------------------
213
214In version 2 and greater of the commercial SSH server produced by SSH
215Communications Security, scp was changed to use SFTP (SSH2's file transfer
216protocol) instead of the traditional rcp-over-ssh, thereby breaking
217compatibility. The OpenSSH developers regard this as a bug in the ssh.com
218server, and do not currently intend to change OpenSSH's scp to match.
219
220Workarounds for this problem are to install scp1 on the server (scp2 will
221fall back to it), to use sftp, or to use some other transfer mechanism such
222as rsync-over-ssh or tar-over-ssh.
223
224--
225Matthew Vernon
226<matthew@debian.org>
227and
228Colin Watson
229<cjwatson@debian.org>