2021-06-12 20:47:54 +02:00
|
|
|
#!/bin/sh
|
|
|
|
# stdin: default config
|
|
|
|
# stdout: modified config
|
2021-07-02 12:50:24 +02:00
|
|
|
set -e
|
2021-06-12 20:47:54 +02:00
|
|
|
|
|
|
|
# save stdin (content of /etc/ssh/sshd_config) in variable
|
2021-07-02 12:50:24 +02:00
|
|
|
stdin="$(cat)"
|
2021-06-12 20:47:54 +02:00
|
|
|
|
2021-06-12 23:42:34 +02:00
|
|
|
# assertions
|
2021-07-02 12:50:24 +02:00
|
|
|
echo "=== assert UsePAM ===" 1>&2
|
2021-06-12 23:53:25 +02:00
|
|
|
echo "$stdin" | grep --quiet '^UsePAM yes$'
|
2021-06-12 20:47:54 +02:00
|
|
|
#
|
2021-07-02 12:50:24 +02:00
|
|
|
echo "=== assert PermitRootLogin ===" 1>&2
|
|
|
|
echo "$stdin" | grep --quiet '^#PermitRootLogin\s.*$'
|
|
|
|
! echo "$stdin" | grep --quiet '^PermitRootLogin\s.*$'
|
|
|
|
echo "=== assert PubkeyAuthentication ===" 1>&2
|
|
|
|
echo "$stdin" | grep --quiet '^#PubkeyAuthentication\s.*$'
|
|
|
|
! echo "$stdin" | grep --quiet '^PubkeyAuthentication\s.*$'
|
|
|
|
echo "=== assert PasswordAuthentication ===" 1>&2
|
|
|
|
echo "$stdin" | grep --quiet '^#PasswordAuthentication\s.*$'
|
|
|
|
! echo "$stdin" | grep --quiet '^PasswordAuthentication\s.*$'
|
|
|
|
echo "=== assert PermitEmptyPasswords ===" 1>&2
|
|
|
|
echo "$stdin" | grep --quiet '^#PermitEmptyPasswords\s.*$'
|
|
|
|
! echo "$stdin" | grep --quiet '^PermitEmptyPasswords\s.*$'
|
|
|
|
echo "=== assert X11Forwarding ===" 1>&2
|
|
|
|
echo "$stdin" | grep --quiet '^#X11Forwarding\s.*$'
|
|
|
|
! echo "$stdin" | grep --quiet '^X11Forwarding\s.*$'
|
2021-06-12 20:47:54 +02:00
|
|
|
|
2021-07-02 12:50:24 +02:00
|
|
|
echo "=== sed ===" 1>&2
|
|
|
|
echo "$stdin" | sed '
|
|
|
|
s|^#PermitRootLogin\s.*$|PermitRootLogin no|;
|
|
|
|
s|^#PubkeyAuthentication\s.*$|PubkeyAuthentication yes|;
|
|
|
|
s|^#PasswordAuthentication\s.*$|PasswordAuthentication no|;
|
|
|
|
s|^#PermitEmptyPasswords\s.*$|PermitEmptyPasswords no|;
|
|
|
|
s|^#X11Forwarding\s.*$|X11Forwarding no|
|
|
|
|
'
|