#!/bin/sh /etc/rc.common # Copyright (C) 2006-2011 OpenWrt.org START=50 STOP=50 USE_PROCD=1 PROG=/usr/sbin/sshd start_service() { for type in rsa ed25519 do # check for keys key=/etc/ssh/ssh_host_${type}_key [ ! -f $key ] && { # generate missing keys [ -x /usr/bin/ssh-keygen ] && { /usr/bin/ssh-keygen -N '' -t $type -f $key 2>&- >&- } } done mkdir -m 0700 -p /var/empty local lport=$(awk '/^Port / { print $2; exit }' /etc/ssh/sshd_config) [ -z "$lport" ] && lport=22 procd_open_instance procd_add_mdns "ssh" "tcp" "$lport" procd_set_param command $PROG -D procd_set_param respawn procd_close_instance } reload_service() { procd_send_signal sshd } shutdown() { local pid stop # kill active clients for pid in $(pidof sshd) do [ "$pid" = "$$" ] && continue [ -e "/proc/$pid/stat" ] && kill $pid done }