openwrt-packages/net/openssh/files/sshd.failsafe

31 lines
602 B
Bash
Executable File

#!/bin/sh
failsafe_sshd () {
# if dropbear is executable it can handle failsafe
[ -x /usr/sbin/dropbear ] && return
sshd_tmpdir=/tmp/sshd
mkdir $sshd_tmpdir
sed -i 's/^root:.*/root::0:17000:::::/g' /etc/shadow
for type in ed25519; do
key=$sshd_tmpdir/ssh_host_${type}_key
ssh-keygen -N '' -t ${type} -f ${key}
done
mkdir -m 0700 -p /var/empty
cat > $sshd_tmpdir/sshd_config <<EOF
HostKey $sshd_tmpdir/ssh_host_ed25519_key
PermitRootLogin yes
PermitEmptyPasswords yes
EOF
/usr/sbin/sshd -f $sshd_tmpdir/sshd_config -E $sshd_tmpdir/sshd.log
}
boot_hook_add failsafe failsafe_sshd