Browse Source

Teach openssh to configure itself and start running sshd on boot

Eric Andersen 22 years ago
parent
commit
7c7119fc69
2 changed files with 69 additions and 0 deletions
  1. 2 0
      make/openssh.mk
  2. 67 0
      sources/openssh.patch

+ 2 - 0
make/openssh.mk

@@ -59,6 +59,8 @@ $(OPENSSH_DIR)/ssh: $(OPENSSH_DIR)/.configured
 
 $(TARGET_DIR)/usr/bin/ssh: $(OPENSSH_DIR)/ssh
 	$(MAKE) CC=$(TARGET_CC) DESTDIR=$(TARGET_DIR) -C $(OPENSSH_DIR) install
+	cp $(OPENSSH_DIR)/S50sshd $(TARGET_DIR)/etc/init.d/
+	chmod a+x $(TARGET_DIR)/etc/init.d/S50sshd
 	rm -rf $(TARGET_DIR)/usr/info $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
 
 openssh: $(TARGET_DIR)/usr/bin/ssh

+ 67 - 0
sources/openssh.patch

@@ -142,3 +142,70 @@
  # override default of no subsystems
 -Subsystem	sftp	/usr/libexec/sftp-server
 +Subsystem	sftp	/usr/sbin/sftp-server
+--- openssh-3.6.1p1/S50sshd	Fri Sep 27 05:21:58 2002
++++ openssh-3.6.1p1/S50sshd	Mon Mar 17 14:55:00 2003
+@@ -0,0 +1,64 @@
++#!/bin/sh
++#
++# sshd        Starts sshd.
++#
++
++# Make sure the ssh-keygen progam exists
++[ -f /usr/bin/ssh-keygen ] || exit 0
++
++# Check for the SSH1 RSA key
++if [ ! -f /etc/ssh_host_key ] ; then
++	echo Generating RSA Key...
++	/usr/bin/ssh-keygen -t rsa1 -f /etc/ssh_host_key -C '' -N ''
++fi
++
++# Check for the SSH2 RSA key
++if [ ! -f /etc/ssh_host_rsa_key ] ; then
++	echo Generating RSA Key...
++	/usr/bin/ssh-keygen -t rsa -f /etc/ssh_host_rsa_key -C '' -N ''
++fi
++
++# Check for the SSH2 DSA key
++if [ ! -f /etc/ssh_host_dsa_key ] ; then
++	echo Generating DSA Key...
++	echo THIS CAN TAKE A MINUTE OR TWO DEPENDING ON YOUR PROCESSOR!
++	echo
++        /usr/bin/ssh-keygen -t dsa -f /etc/ssh_host_dsa_key -C '' -N ''
++fi
++                
++umask 077
++
++start() {
++ 	echo -n "Starting sshd: "
++	/usr/sbin/sshd
++	touch /var/lock/sshd
++	echo "OK"
++}	
++stop() {
++	echo -n "Stopping sshd: "
++        killall	sshd 
++	rm -f /var/lock/sshd
++	echo "OK" 
++}
++restart() {
++	stop
++	start
++}	
++
++case "$1" in
++  start)
++  	start
++	;;
++  stop)
++  	stop
++	;;
++  restart|reload)
++  	restart
++	;;
++  *)
++	echo $"Usage: $0 {start|stop|restart}"
++	exit 1
++esac
++
++exit $?
++