Hi Luke, thanks for reporting this issue. Unfortunately, I am not able
to reproduce it.
Ubuntu 18.04.2 ships openssh-server 1:7.6p1-4ubuntu0.3, not 7.9. Is the
version typo'd in the report or are you running a self-installed version
of openssh perhaps?
In any case, I attempted reproduction on both 18.04 (bionic) and 19.10
(eoan) in lxc, but was not able to reproduce a fault. If you could,
please provide an exact set of commands to reproduce, and the error
message you encountered. Please also verify you're running the stock
distro version of openssh when doing - reproducing in a clean vanilla
lxc instance or a fresh installation of ubuntu would be helpful.
$ lxc launch ubuntu:18.04/amd64 lp1834129
$ lxc exec lp1834129 bash
# apt-get update
[...]
# ps aux | grep sshd
root 685 0.0 0.0 72296 5660 ?Ss 22:31 0:00 /usr/sbin/sshd
-D
root 687 0.0 0.0 14856 1008 ?S+ 22:31 0:00 grep
--color=auto sshd
# service sshd stop
# ps aux | grep sshd
root 718 0.0 0.0 14856 1116 ?S+ 22:31 0:00 grep
--color=auto sshd
# ls -l /run/ssh*
ls: cannot access '/run/ssh*': No such file or directory
# touch my_sshd_config
# sshd -f ./my_sshd_config
sshd re-exec requires execution with an absolute path
# /usr/sbin/sshd -f ./my_sshd_config
Missing privilege separation directory: /run/sshd
# mkdir /run/sshd
# /usr/sbin/sshd -f ./my_sshd_config
# ps aux | grep sshd
root 725 0.0 0.0 72296 3344 ?Ss 22:31 0:00 /usr/sbin/sshd
-f ./my_sshd_config
root 727 0.0 0.0 14856 1040 ?S+ 22:31 0:00 grep
--color=auto sshd
# kill 725
# !ps
ps aux | grep sshd
root 729 0.0 0.0 14856 1004 ?S+ 22:32 0:00 grep
--color=auto sshd
# mv /etc/ssh/sshd_config /tmp/
# /usr/sbin/sshd -f ./my_sshd_config
# !ps
ps aux | grep sshd
root 732 0.0 0.0 72296 3200 ?Ss 22:32 0:00 /usr/sbin/sshd
-f ./my_sshd_config
root 734 0.0 0.0 14856 1156 ?S+ 22:32 0:00 grep
--color=auto sshd
# ls -l /etc/ssh/sshd_*
ls: cannot access '/etc/ssh/sshd_*': No such file or directory
# passwd ubuntu
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
# su ubuntu
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.
$ ssh localhost
ubuntu@localhost's password:
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.
$ logout
Connection to localhost closed.
$ . /etc/lsb-release && echo ${DISTRIB_DESCRIPTION}
Ubuntu 18.04.2 LTS
$ ssh -V
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
$ apt-cache policy openssh-server | grep Installed
Installed: 1:7.6p1-4ubuntu0.3
** Changed in: openssh (Ubuntu)
Status: New => Incomplete
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssh in Ubuntu.
https://bugs.launchpad.net/bugs/1834129
Title:
Presence of sshd_config mandatory
Status in openssh package in Ubuntu:
Incomplete
Bug description:
OpenSSH 7.9p1
Ubuntu 18..04.2 (LTS)
If a sshd daemon is started with a "-f my_sshd_config" command-line
specification the sshd process still requires the existence of the
sshd_config. The bug is somewhere in one of the forked processes
started when an external client attempts a connection. Since the
sshd_config file does not exists, an external client connection cannot
be started.
Solution: If I "touch /etc/ssh/sshd_config" then the lock-up issue
goes away and I am successfully able to login.
Bug: If the sshd configuration file is specified in the command line
execution of the daeomon, then this should be the only file that
should be required.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1834129/+subscriptions
--
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp