#!/bin/bash
-# Copyright (C) 2016 Ian Kelling
+# I, Ian Kelling, follow the GNU license recommendations at
+# https://www.gnu.org/licenses/license-recommendations.en.html. They
+# recommend that small programs, < 300 lines, be licensed under the
+# Apache License 2.0. This file contains or is part of one or more small
+# programs. If a small program grows beyond 300 lines, I plan to switch
+# its license to GPL.
+
+# Copyright 2024 Ian Kelling
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# See the License for the specific language governing permissions and
# limitations under the License.
+
if [[ $EUID != 0 ]]; then
- sudo "$0"
- exit
+ sudo "$0"
+ exit
fi
# shellcheck source=/a/bin/ds/.bashrc
if [[ -s ~/.bashrc ]];then . ~/.bashrc;fi
set -eE -o pipefail
trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR
-readonly this_file; this_file="$(readlink -f -- "${BASH_SOURCE[0]}")"; cd ${this_file%/*}
+this_file="$(readlink -f -- "${BASH_SOURCE[0]}")"
+readonly this_file this_dir="${this_file%/*}"
+cd "$this_dir"
# get rid of useless motd stuff
sed -i --follow-symlinks 's/^\s*PrintLastLog .*/PrintLastLog no/' /etc/ssh/sshd_config
rm -f /etc/update-motd.d/10-help-text /etc/update-motd.d/00-header
+ssh_ser=ssh
+if command -v apt-get &>/dev/null; then
+ # fyi: debconf-set-selections doesn't like mixing tabs and spaces
+ echo "debconf debconf/frontend select Readline" | debconf-set-selections
+else
+ ssh_ser=sshd
+fi
-if isdeb; then
- # fyi: debconf-set-selections doesn't like mixing tabs and spaces
- echo "debconf debconf/frontend select Readline" | debconf-set-selections
- service ssh reload
+if systemctl is-active $ssh_ser; then
+ systemctl reload $ssh_ser
else
- systemctl reload sshd
+ systemctl enable --now $ssh_ser
fi