]>
git.ipfire.org Git - people/stevee/ipfire-2.x.git/blob - src/initscripts/system/sshd
2 ###############################################################################
4 # IPFire.org - A linux based firewall #
5 # Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> #
7 # This program is free software: you can redistribute it and/or modify #
8 # it under the terms of the GNU General Public License as published by #
9 # the Free Software Foundation, either version 3 of the License, or #
10 # (at your option) any later version. #
12 # This program is distributed in the hope that it will be useful, #
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15 # GNU General Public License for more details. #
17 # You should have received a copy of the GNU General Public License #
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
20 ###############################################################################
27 for algo
in rsa ecdsa ed25519
; do
28 keyfile
="/etc/ssh/ssh_host_${algo}_key"
30 # If the key already exists, there is nothing to do.
31 [ -e "${keyfile}" ] && continue
33 boot_mesg
"Generating SSH key (${algo})..."
34 ssh-keygen
-qf "${keyfile}" -N '' -t ${algo}
38 [ -e "/var/ipfire/remote/enablessh" ] ||
exit 0 # SSH is not enabled
39 boot_mesg
"Starting SSH Server..."
40 loadproc
-f /usr
/sbin
/sshd
42 # Also prevent ssh from being killed by out of memory conditions
45 pid
=$
(cat /var
/run
/sshd.pid
2>/dev
/null
)
46 [ -n "${pid}" ] && echo "-16" > "/proc/${pid}/oom_score_adj"
51 boot_mesg
"Stopping SSH Server..."
52 killproc
-p "/var/run/sshd.pid" /usr
/sbin
/sshd || true
56 boot_mesg
"Reloading SSH Server..."
57 reloadproc
/usr
/sbin
/sshd
67 statusproc
/usr
/sbin
/sshd
71 echo "Usage: $0 {start|stop|reload|restart|status}"