From 07ce682e91775cf7c34101713d42c7cb392dbe01 Mon Sep 17 00:00:00 2001 From: ljm42 Date: Wed, 16 Apr 2025 15:23:21 -0700 Subject: [PATCH 1/2] fix: rc.sshd determines which port to use --- emhttp/plugins/dynamix/scripts/update_access | 11 ++--------- etc/rc.d/rc.sshd | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/emhttp/plugins/dynamix/scripts/update_access b/emhttp/plugins/dynamix/scripts/update_access index a766ecc4a..51aee4c5b 100755 --- a/emhttp/plugins/dynamix/scripts/update_access +++ b/emhttp/plugins/dynamix/scripts/update_access @@ -15,15 +15,8 @@ SERV=/etc/services [[ -z $PORTSSH ]] && PORTSSH=22 [[ -z $USE_UPNP ]] && USE_UPNP=no -# update ssh daemon listening port +# determine ssh daemon listening port CURRENT=$(grep -Pom1 '^#?Port \K\d+$' $CONF) -if [[ $PORTSSH != $CURRENT ]]; then - if [[ $PORTSSH == 22 ]]; then - sed -ri 's/^#?Port [0-9]+$/#Port 22/' $CONF - else - sed -ri "s/^#?Port [0-9]+\$/Port $PORTSSH/" $CONF - fi -fi # enable/disable SSH service if [[ $USE_SSH == yes ]]; then @@ -31,7 +24,7 @@ if [[ $USE_SSH == yes ]]; then # start non-running ssh daemon /etc/rc.d/rc.sshd start else - # restart when port has changed + # restart when port has changed, rc.sshd will update value in $CONF [[ $PORTSSH != $CURRENT ]] && /etc/rc.d/rc.sshd restart fi elif [[ $(pgrep --ns $$ -cf $SSHD) -gt 0 ]]; then diff --git a/etc/rc.d/rc.sshd b/etc/rc.d/rc.sshd index 975d12ef6..07a50c78f 100755 --- a/etc/rc.d/rc.sshd +++ b/etc/rc.d/rc.sshd @@ -11,6 +11,7 @@ DAEMON="SSH server daemon" CALLER="ssh" SSHD="/usr/sbin/sshd" CONF="/etc/ssh/sshd_config" +INET=/etc/inetd.conf PID="/var/run/sshd.pid" SSH_BOOT="/boot/config/ssh" SSH_ETC="/etc/ssh" @@ -21,6 +22,12 @@ SSH_ETC="/etc/ssh" # library functions . /etc/rc.d/rc.library.source +# read settings +[[ -e /boot/config/ident.cfg ]] && . <(fromdos /dev/null + cp -f $SSH_BOOT/* $SSH_ETC 2>/dev/null chmod 600 $SSH_ETC/* 2>/dev/null # create host keys if needed and copy any newly generated key(s) back to flash ssh-keygen -A From e526540435ca564d6939a8788c1a59490ce329e7 Mon Sep 17 00:00:00 2001 From: ljm42 Date: Thu, 17 Apr 2025 18:37:25 -0700 Subject: [PATCH 2/2] fix: rc.sshd only starts sshd if service is enabled --- etc/rc.d/rc.sshd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/etc/rc.d/rc.sshd b/etc/rc.d/rc.sshd index 07a50c78f..aa82e5620 100755 --- a/etc/rc.d/rc.sshd +++ b/etc/rc.d/rc.sshd @@ -26,6 +26,7 @@ SSH_ETC="/etc/ssh" [[ -e /boot/config/ident.cfg ]] && . <(fromdos