Display IP and password if ssh boot option is used
[grml-quickconfig.git] / quickconfig / 002-ipaddr.sh
1 ROOTPWD=$(grep -Eo '\<ssh=[^ ]+' /proc/cmdline || true)
2
3 if [ "$ROOTPWD" ]; then
4   ROOTPWD=${ROOTPWD#*=}
5
6   USER=$(getent passwd 1000 | cut -d: -f1)
7   [ -n "$USER" ] || USER="grml"
8
9   LOCAL_IF=$(ip -o route show | sed -nre '/^default /s/^default .*dev ([^ ]+).*/\1/p' | head -1)
10   if [ -n "$LOCAL_IF" ] ; then
11     IPADDR=$(ip -o addr show $LOCAL_IF | grep ' inet ' | head -n 1 | sed -e 's/.*inet \([^ ]*\) .*/\1/' -e 's/\/.*//')
12   fi
13
14   LOCAL_IF6=$(ip -6 -o route show | sed -nre '/^default /s/^default .*dev ([^ ]+).*/\1/p' | head -1)
15   if [ -n "$LOCAL_IF6" ] ; then
16     IPADDR6=$(ip -6 -o addr show $LOCAL_IF6 | grep ' inet6 ' | head -n 1 | sed -e 's/.*inet6 \([^ ]*\) .*/\1/' -e 's/\/.*//')
17   fi
18
19   LINE='print_line "You can connect with SSH to: $IPADDR $IPADDR6";
20 print_line "The password for user root/$USER is: $ROOTPWD";
21   print_delim;
22 '
23 fi
24
25 display_entry() { return 0; }
26