Skip to main content
added 23 characters in body
Source Link
techraf
  • 4.3k
  • 10
  • 32
  • 43

This is a trace of a default script (introduced in the November 2016 Raspbian release) which checks if you changed the password for the user pi.

The script is stored in /etc/profile.d/sshpasswd.sh and displays a warning if the SSH deamon was turned on, but the password for the pi user had not been changed from the default one (raspberry). It is called on each login.

The script in its original form:

check_hash ()
{
        local SHADOW="$(sudo -n grep -E '^pi:' /etc/shadow 2>/dev/null)"
        test -n "${SHADOW}" || return 0
        local SALT=$(echo "${SHADOW}" | sed -n 's/pi:\$6\$//;s/\$.*//p')
        local HASH=$(mkpasswd -msha-512 raspberry "$SALT")

        if systemctl is-active ssh -q && echo "${SHADOW}" | grep -q "${HASH}"; then
                echo
                echo "SSH is enabled and the default password for the 'pi' user has not been changed."
                echo "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password."
                echo
        fi
}

check_hash
unset check_hash

In Raspbian Stretch the script has been changed to a one checking existence of /run/sshwarn file (on the other hand, created/deleted at boot time). It doesn't check the /etc/shadow anymoreon each login, but on the other hand if someone used an automated tool to change the password, they need also to explicitly remove the file, or reboot the machine:

export TEXTDOMAIN=Linux-PAM

. gettext.sh

if [ -e /run/sshwarn ] ; then
    echo
    echo $(/usr/bin/gettext "SSH is enabled and the default password for the 'pi' user has not been changed.")
    echo $(/usr/bin/gettext "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.")
    echo
fi

This is a trace of a default script (introduced in the November 2016 Raspbian release) which checks if you changed the password for the user pi.

The script is stored in /etc/profile.d/sshpasswd.sh and displays a warning if the SSH deamon was turned on, but the password for the pi user had not been changed from the default one (raspberry). It is called on each login.

The script in its original form:

check_hash ()
{
        local SHADOW="$(sudo -n grep -E '^pi:' /etc/shadow 2>/dev/null)"
        test -n "${SHADOW}" || return 0
        local SALT=$(echo "${SHADOW}" | sed -n 's/pi:\$6\$//;s/\$.*//p')
        local HASH=$(mkpasswd -msha-512 raspberry "$SALT")

        if systemctl is-active ssh -q && echo "${SHADOW}" | grep -q "${HASH}"; then
                echo
                echo "SSH is enabled and the default password for the 'pi' user has not been changed."
                echo "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password."
                echo
        fi
}

check_hash
unset check_hash

In Raspbian Stretch the script has been changed to a one checking existence of /run/sshwarn file. It doesn't check the /etc/shadow anymore, but on the other hand if someone used an automated tool to change the password, they need also to explicitly remove the file:

export TEXTDOMAIN=Linux-PAM

. gettext.sh

if [ -e /run/sshwarn ] ; then
    echo
    echo $(/usr/bin/gettext "SSH is enabled and the default password for the 'pi' user has not been changed.")
    echo $(/usr/bin/gettext "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.")
    echo
fi

This is a trace of a default script (introduced in the November 2016 Raspbian release) which checks if you changed the password for the user pi.

The script is stored in /etc/profile.d/sshpasswd.sh and displays a warning if the SSH deamon was turned on, but the password for the pi user had not been changed from the default one (raspberry). It is called on each login.

The script in its original form:

check_hash ()
{
        local SHADOW="$(sudo -n grep -E '^pi:' /etc/shadow 2>/dev/null)"
        test -n "${SHADOW}" || return 0
        local SALT=$(echo "${SHADOW}" | sed -n 's/pi:\$6\$//;s/\$.*//p')
        local HASH=$(mkpasswd -msha-512 raspberry "$SALT")

        if systemctl is-active ssh -q && echo "${SHADOW}" | grep -q "${HASH}"; then
                echo
                echo "SSH is enabled and the default password for the 'pi' user has not been changed."
                echo "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password."
                echo
        fi
}

check_hash
unset check_hash

In Raspbian Stretch the script has been changed to a one checking existence of /run/sshwarn file (on the other hand, created/deleted at boot time). It doesn't check the /etc/shadow on each login, but on the other hand if someone used an automated tool to change the password, they need also to explicitly remove the file, or reboot the machine:

export TEXTDOMAIN=Linux-PAM

. gettext.sh

if [ -e /run/sshwarn ] ; then
    echo
    echo $(/usr/bin/gettext "SSH is enabled and the default password for the 'pi' user has not been changed.")
    echo $(/usr/bin/gettext "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.")
    echo
fi
added 430 characters in body
Source Link
techraf
  • 4.3k
  • 10
  • 32
  • 43

This is a trace of a default script (introduced in the November 2016 Raspbian release) which checks if you changed the password for the user pi.

The script is stored in /etc/profile.d/sshpasswd.sh and displays a warning if the SSH deamon was turned on, but the password for the pi user had not been changed from the default one (raspberry). It is called on each login.

The script in its original form:

check_hash ()
{
        local SHADOW="$(sudo -n grep -E '^pi:' /etc/shadow 2>/dev/null)"
        test -n "${SHADOW}" || return 0
        local SALT=$(echo "${SHADOW}" | sed -n 's/pi:\$6\$//;s/\$.*//p')
        local HASH=$(mkpasswd -msha-512 raspberry "$SALT")

        if systemctl is-active ssh -q && echo "${SHADOW}" | grep -q "${HASH}"; then
                echo
                echo "SSH is enabled and the default password for the 'pi' user has not been changed."
                echo "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password."
                echo
        fi
}

check_hash
unset check_hash

In Raspbian Stretch the script has been changed to a one checking existence of /run/sshwarn file. It doesn't check the /etc/shadow anymore, but on the other hand if someone used an automated tool to change the password, they need also to explicitly remove the file:

export TEXTDOMAIN=Linux-PAM

. gettext.sh

if [ -e /run/sshwarn ] ; then
    echo
    echo $(/usr/bin/gettext "SSH is enabled and the default password for the 'pi' user has not been changed.")
    echo $(/usr/bin/gettext "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.")
    echo
fi

This is a trace of a default script (introduced in the November 2016 Raspbian release) which checks if you changed the password for the user pi.

The script is stored in /etc/profile.d/sshpasswd.sh and displays a warning if the SSH deamon was turned on, but the password for the pi user had not been changed from the default one (raspberry). It is called on each login.

The script in its original form:

check_hash ()
{
        local SHADOW="$(sudo -n grep -E '^pi:' /etc/shadow 2>/dev/null)"
        test -n "${SHADOW}" || return 0
        local SALT=$(echo "${SHADOW}" | sed -n 's/pi:\$6\$//;s/\$.*//p')
        local HASH=$(mkpasswd -msha-512 raspberry "$SALT")

        if systemctl is-active ssh -q && echo "${SHADOW}" | grep -q "${HASH}"; then
                echo
                echo "SSH is enabled and the default password for the 'pi' user has not been changed."
                echo "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password."
                echo
        fi
}

check_hash
unset check_hash

This is a trace of a default script (introduced in the November 2016 Raspbian release) which checks if you changed the password for the user pi.

The script is stored in /etc/profile.d/sshpasswd.sh and displays a warning if the SSH deamon was turned on, but the password for the pi user had not been changed from the default one (raspberry). It is called on each login.

The script in its original form:

check_hash ()
{
        local SHADOW="$(sudo -n grep -E '^pi:' /etc/shadow 2>/dev/null)"
        test -n "${SHADOW}" || return 0
        local SALT=$(echo "${SHADOW}" | sed -n 's/pi:\$6\$//;s/\$.*//p')
        local HASH=$(mkpasswd -msha-512 raspberry "$SALT")

        if systemctl is-active ssh -q && echo "${SHADOW}" | grep -q "${HASH}"; then
                echo
                echo "SSH is enabled and the default password for the 'pi' user has not been changed."
                echo "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password."
                echo
        fi
}

check_hash
unset check_hash

In Raspbian Stretch the script has been changed to a one checking existence of /run/sshwarn file. It doesn't check the /etc/shadow anymore, but on the other hand if someone used an automated tool to change the password, they need also to explicitly remove the file:

export TEXTDOMAIN=Linux-PAM

. gettext.sh

if [ -e /run/sshwarn ] ; then
    echo
    echo $(/usr/bin/gettext "SSH is enabled and the default password for the 'pi' user has not been changed.")
    echo $(/usr/bin/gettext "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.")
    echo
fi
Rollback to Revision 2
Source Link
techraf
  • 4.3k
  • 10
  • 32
  • 43

This is a trace of a default script (introduced in the November 2016 Raspbian release) which checks if you changed the password for the user pi.

The script is stored in /etc/profile.d/sshpwd.sh (or earlier /etc/profile.d/sshpasswd.sh) and displays a warning if the SSH deamon was turned on, but the password for the pi user had not been changed from the default one (raspberry). It is called on each login.

The script in its original form:

check_hash ()
{
        local SHADOW="$(sudo -n grep -E '^pi:' /etc/shadow 2>/dev/null)"
        test -n "${SHADOW}" || return 0
        local SALT=$(echo "${SHADOW}" | sed -n 's/pi:\$6\$//;s/\$.*//p')
        local HASH=$(mkpasswd -msha-512 raspberry "$SALT")

        if systemctl is-active ssh -q && echo "${SHADOW}" | grep -q "${HASH}"; then
                echo
                echo "SSH is enabled and the default password for the 'pi' user has not been changed."
                echo "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password."
                echo
        fi
}

check_hash
unset check_hash

This is a trace of a default script (introduced in the November 2016 Raspbian release) which checks if you changed the password for the user pi.

The script is stored in /etc/profile.d/sshpwd.sh (or earlier /etc/profile.d/sshpasswd.sh) and displays a warning if the SSH deamon was turned on, but the password for the pi user had not been changed from the default one (raspberry). It is called on each login.

The script in its original form:

check_hash ()
{
        local SHADOW="$(sudo -n grep -E '^pi:' /etc/shadow 2>/dev/null)"
        test -n "${SHADOW}" || return 0
        local SALT=$(echo "${SHADOW}" | sed -n 's/pi:\$6\$//;s/\$.*//p')
        local HASH=$(mkpasswd -msha-512 raspberry "$SALT")

        if systemctl is-active ssh -q && echo "${SHADOW}" | grep -q "${HASH}"; then
                echo
                echo "SSH is enabled and the default password for the 'pi' user has not been changed."
                echo "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password."
                echo
        fi
}

check_hash
unset check_hash

This is a trace of a default script (introduced in the November 2016 Raspbian release) which checks if you changed the password for the user pi.

The script is stored in /etc/profile.d/sshpasswd.sh and displays a warning if the SSH deamon was turned on, but the password for the pi user had not been changed from the default one (raspberry). It is called on each login.

The script in its original form:

check_hash ()
{
        local SHADOW="$(sudo -n grep -E '^pi:' /etc/shadow 2>/dev/null)"
        test -n "${SHADOW}" || return 0
        local SALT=$(echo "${SHADOW}" | sed -n 's/pi:\$6\$//;s/\$.*//p')
        local HASH=$(mkpasswd -msha-512 raspberry "$SALT")

        if systemctl is-active ssh -q && echo "${SHADOW}" | grep -q "${HASH}"; then
                echo
                echo "SSH is enabled and the default password for the 'pi' user has not been changed."
                echo "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password."
                echo
        fi
}

check_hash
unset check_hash
added 40 characters in body
Source Link
techraf
  • 4.3k
  • 10
  • 32
  • 43
Loading
added 5 characters in body
Source Link
techraf
  • 4.3k
  • 10
  • 32
  • 43
Loading
Source Link
techraf
  • 4.3k
  • 10
  • 32
  • 43
Loading