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