X-Git-Url: https://iankelling.org/git/?p=automated-distro-installer;a=blobdiff_plain;f=wrt-setup;h=1e0d6362befbc4d56a9d1352cbf901f632cb0538;hp=3c572f29b3ef49f95a92ea277e2a01d746ea26b8;hb=6ca069946c8ff88d79d1ae421e0eda60ae1c514c;hpb=cef9b6ede5c1e028bed1b4dc7895f5dfa121ad6b diff --git a/wrt-setup b/wrt-setup index 3c572f2..1e0d636 100755 --- a/wrt-setup +++ b/wrt-setup @@ -19,6 +19,8 @@ set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR +[[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@" + x="$(readlink -f "$BASH_SOURCE")"; cd ${x%/*} usage() { @@ -26,7 +28,8 @@ usage() { usage: ${0##*/} [-h|--help] [HOST/IP] [wrt-setup-local_ARGS] setup my router in general: dhcp, dns, etc. -Default HOST is root@10.0.0.1 +Default HOST is 10.0.0.1 or 10.2.0.1 if they are the gateway, otherwise +it must be specified. Note, use -m "''" to send an empty mac arg. When we get a new enough bash, we can use ${@@Q} to properly pass an empty var. @@ -45,7 +48,6 @@ EOF exit $1 } -h=root@10.0.0.1 case $1 in -h|--help) usage ;; @@ -53,28 +55,29 @@ case $1 in ?*) h="$1"; shift ;; esac -echo "$0: host=$h" +if [[ ! $h ]]; then + read -r _ _ gateway _ < <(ip -4 route get 8.8.8.8) + case $gateway in + 10.0.0.1|10.2.0.1) + h=root@$gateway + ;; + *) + echo "$0: error: gateway = $gateway and no HOST/IP specified" + exit 1 + ;; + esac +fi -cat ~/.ssh/home.pub | ssh $h dd of=/etc/dropbear/authorized_keys 2>/dev/null -scp /a/work/libremanage/libremanage /a/bin/fai/wrt-setup-local /a/bin/cedit/cedit $h:/usr/bin +echo "$0: h=$h" +# todo: ecdsa key not working with dropbear +cat ~/.ssh/{h,hrsa,home}.pub | ssh $h dd of=/etc/dropbear/authorized_keys 2>/dev/null +scp /a/work/libremanage/libremanage /a/bin/fai/wrt-init /a/bin/fai/wrt-setup-local /a/bin/cedit/cedit $h:/usr/bin # relay is built for openwrt 18.06.2, r7676-cddd7b4c77 -sudo scp /q/root/shadow/router /p/c/machine_specific/wrt/etc/dropbear/dropbear_rsa_host_key \ - /a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk \ - /p/c/machine_specific/wrt/etc/wg.{key,psk} $h: -scp ../openwrtkeyring/usign/* $h:/etc/opkg/keys -ssh $h </etc/opkg/customfeeds.conf <<'EOF' -src/gz openwrt_packages http://downloads.openwrt.org/releases/19.07.2/packages/mips_24kc/packages -EOF +#/a/opt/openwrt/source/bin/packages/mips_24kc/mypackages/relay_1.0-1_mips_24kc.ipk \ -if ! opkg list-installed|grep bash; then - opkg update - opkg install bash -fi -export HOME_DOMAIN=$HOME_DOMAIN -export WIRELESSMAC=$WIRELESSMAC -wrt-setup-local $@ -EOFOUTER +scp /q/root/shadow/router /p/c/machine_specific/wrt/etc/dropbear/dropbear_rsa_host_key \ + /p/router-secrets /p/c/machine_specific/wrt/etc/wg.{key,psk} $h: +scp ../openwrtkeyring/usign/* $h:/etc/opkg/keys + +ssh $h wrt-init ${HOME_DOMAIN:-b8.nz} "$@"