Bitte bedenken, dass zumindest auf Debian-Systemen ifconfig veraltet ist und durch ip ersetzt wurde/wird. In Stretch und Buster ist ifconfig per default nicht installiert.
Ich verstehe gar nicht, was ihr hier so diskutiert, immerhin nutze ich den Befehl garnicht in meinem Script. Das Problem bzw. der Fakt, dass diese Anwendung mittlerweile durch den Befehl ip ersetzt wurde ist mir bekannt und ich habe es berücksichtigt. Schaut doch einfach mal in den Quellcode. 
Kann man mit den neuen Regeln UFW testen? Ich glaube es sollte unabhängig sein, oder?
Das ist halt so ein Problemchen... die neuen "Regeln", bei denen mit nmap gearbeitet wird, funktionieren nicht. Zumindest mein Server hat trotz geschlossener Ports durch IPtables die Ports als offen anerkannt. Aufgrund der verschiedenen Möglichkeiten, eine Firewall aufzustellen (ufw, iptables, nftables, ...), bin ich mir bei der ganzen Geschichte noch nicht sicher, wie ich es schlussendlich mache. Nach wie vor bin ich da für Ideen offen.
Es wird Logs auf low beanstandet bei:
# Logging
SyslogFacility AUTHPRIV
LogLevel VERBOSE
Es wird erlaubte Passwortauthentifizierung beanstandet bei:
PasswordAuthentication no
#PermitRootLogin yes
PermitRootLogin prohibit-password
AuthenticationMethods publickey
Alles anzeigen
Ich kann mir das ehrlich gesagt nicht erklären. Nutzt du die aktuellste Version des Scripts? Und welche Debian Version nutzt du?
Könntest du mir evtl. mal deine gesamte sshd_config (von mir aus auch per PN) zukommen lassen, sodass ich da mal auf Fehlersuche gehen könnte?