Please consider to ensure that the SSH privilege-seperation directory is in 
place as long as SSH is installed (in contract to "as long as SSH is running').

Rationale:

>>     RuntimeDirectory=sshd
>> Perhaps that would be a reliable way to fix the problem...
> That does indeed seem like a plausible approach.  Committed to git
> master, thanks.

Although this seems to be very robust way to ensure the privilege-separation 
directory exists and is empty, it disallows to run 'sshd' as a non-root user 
because of missing '/run/sshd' if 'sshd' has not been started by 'systemd'.
My use case is to establish a tunnel between two clients without the need of 
root privileges. The (potentially) missing '/run/sshd' prevents this.

I am not a security expert and do not know if this use case implies security 
issues (e.g. breaks privilege separation), but security is at least not 
decreased if '/run/sshd' exists even if 'sshd' is not running: A user is able 
to create a patched copy of 'sshd' replacing '/run/sshd' with '/tmp/sshd' and 
create a symlink from '/tmp/sshd' to any directory owned by root which is not 
accessible to group or world-side (like e.g. '/run/log').
In fact, users will compromise system security if they are tempted to 
workaround missing '/run/sshd' this.


With best regards,
doak


On Sun, 23 Jul 2017 13:15:45 +0100 Colin Watson <cjwat...@debian.org> wrote:
> Control: tag -1 pending
> 
> On Mon, Jul 17, 2017 at 09:26:26AM +1000, Dmitry Smirnov wrote:
> > So I had a chance to try another fix to the problem: I was able to start
> > "ssh.service" again after adding the following line:
> > 
> >     RuntimeDirectory=sshd
> > 
> > Perhaps that would be a reliable way to fix the problem...
> 
> That does indeed seem like a plausible approach.  Committed to git
> master, thanks.
> 
> -- 
> Colin Watson                                       [cjwat...@debian.org]
> 
> 

Reply via email to