Skip to content

Commit

Permalink
GRMLBASE/49-sshd: ensure that login as root via password works again
Browse files Browse the repository at this point in the history
openssh defaults to "prohibit-password" since openssh-server v1:7.1p1-1,
breaking our existing change regarding without-password.

While at it also improve the script to not readd the PermitRootLogin
and UseDNS configs with every single run, instead check for our
own modifications and skip them in further runs.

Closes grml/grml#12
  • Loading branch information
mika committed May 12, 2017
1 parent 487e689 commit 52b5306
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions etc/grml/fai/config/scripts/GRMLBASE/49-sshd
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,23 @@ if ! [ -r "${target}/etc/ssh/sshd_config" ] ; then
fi

# make sure root login works, it's set to "without-password" since openssh-server v1:6.6p1-1
sed -i "s/^\(PermitRootLogin without-password\)/# \1 # disabled via grml-live\nPermitRootLogin yes/" "${target}/etc/ssh/sshd_config"
# and defaults to "prohibit-password" since openssh-server v1:7.1p1-1
if grep -q '^PermitRootLogin ' "${target}/etc/ssh/sshd_config" ; then
# make sure we don't modify our own disabled snippet once again
if ! grep -q 'PermitRootLogin .*disabled via grml-live' "${target}/etc/ssh/sshd_config" ; then
sed -i "s/^\(PermitRootLogin .*\)/# \1 # disabled via grml-live\nPermitRootLogin yes/" "${target}/etc/ssh/sshd_config"
fi
else
echo "# Added via grml-live script:" >> "${target}/etc/ssh/sshd_config"
echo "PermitRootLogin yes" >> "${target}/etc/ssh/sshd_config"
fi

# speedup if DNS is broken/unavailable
if grep -q '^UseDNS' "${target}/etc/ssh/sshd_config" ; then
sed -i "s/^\(UseDNS yes\)/# \1 # disabled via grml-live\nUseDNS no/" "${target}/etc/ssh/sshd_config"
if grep -q '^UseDNS ' "${target}/etc/ssh/sshd_config" ; then
# make sure we don't modify our own disabled snippet once again
if ! grep -q 'UseDNS .*disabled via grml-live' "${target}/etc/ssh/sshd_config" ; then
sed -i "s/^\(UseDNS .*\)/# \1 # disabled via grml-live\nUseDNS no/" "${target}/etc/ssh/sshd_config"
fi
else
echo "# Added via grml-live script:" >> "${target}/etc/ssh/sshd_config"
echo "UseDNS no" >> "${target}/etc/ssh/sshd_config"
Expand Down

0 comments on commit 52b5306

Please sign in to comment.