|
|
- #!/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 dsa; 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
- user_exists sshd 22 || user_add sshd 22 22 sshd /var/empty
- group_exists sshd 22 || group_add sshd 22
- mkdir -m 0700 -p /var/empty
-
- procd_open_instance
- procd_set_param command $PROG -D
- procd_close_instance
- }
-
- shutdown() {
- local pid
- local pids
- local pid_mine
-
- stop
-
- # kill active clients
- pid_mine="$$"
- pids="$(pidof sshd)"
- for pid in $pids; do
- [ "$pid" = "$pid_mine" ] && continue
- [ -e "/proc/$pid/stat" ] && kill $pid
- done
- }
|