sshd 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #!/bin/sh
  2. ########################################################################
  3. # Begin sshd
  4. #
  5. # Description : Start sshd daemon
  6. #
  7. # Author : Bruce Dubbs - bdubbs@linuxfromscratch.org
  8. #
  9. # Version : LFS 7.0
  10. #
  11. ########################################################################
  12. ### BEGIN INIT INFO
  13. # Provides: sshd
  14. # Required-Start: $network
  15. # Should-Start:
  16. # Required-Stop: sendsignals
  17. # Should-Stop:
  18. # Default-Start: 3 4 5
  19. # Default-Stop: 0 1 2 6
  20. # Short-Description: Starts sshd daemon.
  21. # Description: Starts sshd daemon.
  22. # X-LFS-Provided-By: LFS
  23. ### END INIT INFO
  24. . /etc/rc.d/functions
  25. #$LastChangedBy: dj $
  26. #$Date: 2012-06-18 18:42:28 -0500 (Mon, 18 Jun 2012) $
  27. case "$1" in
  28. start)
  29. log_info_msg "Starting SSH Server..."
  30. #deprecated
  31. #if [ ! -f /etc/ssh/ssh_host_key ]; then
  32. # /usr/bin/ssh-keygen -t rsa1 -N "" -f /etc/ssh/ssh_host_key
  33. #fi
  34. if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then
  35. /usr/bin/ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key
  36. fi
  37. if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then
  38. /usr/bin/ssh-keygen -t dsa -N "" -f /etc/ssh/ssh_host_dsa_key
  39. fi
  40. if [ ! -f /etc/ssh/ssh_host_ecdsa_key ]; then
  41. /usr/bin/ssh-keygen -t ecdsa -N "" -f /etc/ssh/ssh_host_ecdsa_key
  42. fi
  43. if [ ! -f /etc/ssh/ssh_host_ed25519_key ]; then
  44. /usr/bin/ssh-keygen -t ed25519 -N "" -f /etc/ssh/ssh_host_ed25519_key
  45. fi
  46. start_daemon -f /usr/sbin/sshd
  47. evaluate_retval
  48. # Also prevent ssh from being killed by out of memory conditions
  49. sleep 1
  50. pid=`cat /run/sshd.pid 2>/dev/null`
  51. echo "-16" >/proc/${pid}/oom_score_adj
  52. ;;
  53. stop)
  54. log_info_msg "Stopping SSH Server..."
  55. killproc -p "/run/sshd.pid" /usr/sbin/sshd
  56. evaluate_retval
  57. ;;
  58. reload)
  59. log_info_msg "Reloading SSH Server..."
  60. pid=`cat /run/sshd.pid 2>/dev/null`
  61. if [ -n "${pid}" ]; then
  62. kill -HUP "${pid}"
  63. else
  64. (exit 1)
  65. fi
  66. evaluate_retval
  67. ;;
  68. restart)
  69. $0 stop
  70. sleep 1
  71. $0 start
  72. ;;
  73. status)
  74. statusproc /usr/sbin/sshd
  75. ;;
  76. *)
  77. echo "Usage: $0 {start|stop|reload|restart|status}"
  78. exit 1
  79. ;;
  80. esac
  81. # End sshd bootscript