OPENSSH_SOURCE:=openssh-3.8p1.tar.gz
OPENSSH_PATCH:=$(SOURCE_DIR)/openssh.patch
+OPENSSH_IPK_DIR:=$(BUILD_DIR)/openssh-3.8p1-ipk
+OPENSSH_SERVER_IPK:=$(BUILD_DIR)/openssh-server_3.8p1-1_mipsel.ipk
+OPENSSH_CLIENT_IPK:=$(BUILD_DIR)/openssh-client_3.8p1-1_mipsel.ipk
+OPENSSH_SFTP_SERVER_IPK:=$(BUILD_DIR)/openssh-sftp-server_3.8p1-1_mipsel.ipk
+OPENSSH_SFTP_CLIENT_IPK:=$(BUILD_DIR)/openssh-sftp-client_3.8p1-1_mipsel.ipk
+OPENSSH_CLIENT_EX_IPK:=$(BUILD_DIR)/openssh-client-extras_3.8p1-1_mipsel.ipk
+
$(DL_DIR)/$(OPENSSH_SOURCE):
$(WGET) -P $(DL_DIR) $(OPENSSH_SITE)/$(OPENSSH_SOURCE)
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
+ # since this is the embedded build, keep things to minimum
+ rm $(TARGET_DIR)/etc/moduli
+ rm $(TARGET_DIR)/usr/bin/sftp
+ rm $(TARGET_DIR)/usr/bin/ssh-add
+ rm $(TARGET_DIR)/usr/bin/ssh-agent
+ rm $(TARGET_DIR)/usr/bin/ssh-keyscan
+ rm $(TARGET_DIR)/usr/sbin/sftp-server
+ rm $(TARGET_DIR)/usr/sbin/ssh-keysign
openssh: $(TARGET_DIR)/usr/bin/ssh
+$(OPENSSH_IPK_DIR)/usr/bin/ssh: $(OPENSSH_DIR)/ssh
+ $(MAKE) CC=$(TARGET_CC) DESTDIR=$(OPENSSH_IPK_DIR) -C $(OPENSSH_DIR) install
+ mkdir -p $(OPENSSH_IPK_DIR)/etc/init.d/
+ cp $(OPENSSH_DIR)/S50sshd $(OPENSSH_IPK_DIR)/etc/init.d/
+ chmod a+x $(OPENSSH_IPK_DIR)/etc/init.d/S50sshd
+ rm -rf $(OPENSSH_IPK_DIR)/usr/info $(OPENSSH_IPK_DIR)/usr/man $(OPENSSH_IPK_DIR)/usr/share/doc
+
+$(OPENSSH_SERVER_IPK): $(OPENSSH_IPK_DIR)/usr/bin/ssh
+ rm -rf $(OPENSSH_IPK_DIR)/build
+ mkdir -p $(OPENSSH_IPK_DIR)/build/CONTROL
+ cp $(SOURCE_DIR)/openssh.server.control $(OPENSSH_IPK_DIR)/build/CONTROL/control
+ cp $(SOURCE_DIR)/openssh.server.conffiles $(OPENSSH_IPK_DIR)/build/CONTROL/conffiles
+ cp $(SOURCE_DIR)/openssh.server.preinst $(OPENSSH_IPK_DIR)/build/CONTROL/preinst
+ chmod a+x $(OPENSSH_IPK_DIR)/build/CONTROL/preinst
+ cp $(SOURCE_DIR)/openssh.server.postinst $(OPENSSH_IPK_DIR)/build/CONTROL/postinst
+ chmod a+x $(OPENSSH_IPK_DIR)/build/CONTROL/postinst
+ mkdir -p $(OPENSSH_IPK_DIR)/build/etc/init.d
+ cp $(SOURCE_DIR)/openssh.server.sshd_config $(OPENSSH_IPK_DIR)/build/etc/sshd_config
+ cp $(SOURCE_DIR)/openssh.server.S50sshd-ipk $(OPENSSH_IPK_DIR)/build/etc/init.d/S50sshd
+ chmod a+x $(OPENSSH_IPK_DIR)/build/etc/init.d/S50sshd
+ mkdir -p $(OPENSSH_IPK_DIR)/build/usr/sbin
+ cp $(OPENSSH_IPK_DIR)/usr/sbin/sshd $(OPENSSH_IPK_DIR)/build/usr/sbin
+ mkdir -p $(OPENSSH_IPK_DIR)/build/usr/bin
+ cp $(OPENSSH_IPK_DIR)/usr/bin/ssh-keygen $(OPENSSH_IPK_DIR)/build/usr/bin
+ cd $(BUILD_DIR); $(STAGING_DIR)/bin/ipkg-build -c -o root -g root $(OPENSSH_IPK_DIR)/build
+ rm -rf $(OPENSSH_IPK_DIR)/build
+
+$(OPENSSH_CLIENT_IPK): $(OPENSSH_IPK_DIR)/usr/bin/ssh
+ rm -rf $(OPENSSH_IPK_DIR)/build
+ mkdir -p $(OPENSSH_IPK_DIR)/build/CONTROL
+ cp $(SOURCE_DIR)/openssh.client.control $(OPENSSH_IPK_DIR)/build/CONTROL/control
+ cp $(SOURCE_DIR)/openssh.client.conffiles $(OPENSSH_IPK_DIR)/build/CONTROL/conffiles
+ cp $(SOURCE_DIR)/openssh.client.preinst $(OPENSSH_IPK_DIR)/build/CONTROL/preinst
+ chmod a+x $(OPENSSH_IPK_DIR)/build/CONTROL/preinst
+ mkdir -p $(OPENSSH_IPK_DIR)/build/etc
+ cp $(SOURCE_DIR)/openssh.client.ssh_config $(OPENSSH_IPK_DIR)/build/etc/ssh_config
+ mkdir -p $(OPENSSH_IPK_DIR)/build/usr/bin
+ cp $(OPENSSH_IPK_DIR)/usr/bin/ssh $(OPENSSH_IPK_DIR)/build/usr/bin
+ cp $(OPENSSH_IPK_DIR)/usr/bin/scp $(OPENSSH_IPK_DIR)/build/usr/bin
+ cd $(BUILD_DIR); $(STAGING_DIR)/bin/ipkg-build -c -o root -g root $(OPENSSH_IPK_DIR)/build
+ rm -rf $(OPENSSH_IPK_DIR)/build
+
+$(OPENSSH_SFTP_SERVER_IPK): $(OPENSSH_IPK_DIR)/usr/bin/ssh
+ rm -rf $(OPENSSH_IPK_DIR)/build
+ mkdir -p $(OPENSSH_IPK_DIR)/build/CONTROL
+ cp $(SOURCE_DIR)/openssh.sftp-server.control $(OPENSSH_IPK_DIR)/build/CONTROL/control
+ mkdir -p $(OPENSSH_IPK_DIR)/build/usr/sbin
+ cp $(OPENSSH_IPK_DIR)/usr/sbin/sftp-server $(OPENSSH_IPK_DIR)/build/usr/sbin
+ cd $(BUILD_DIR); $(STAGING_DIR)/bin/ipkg-build -c -o root -g root $(OPENSSH_IPK_DIR)/build
+ rm -rf $(OPENSSH_IPK_DIR)/build
+
+$(OPENSSH_SFTP_CLIENT_IPK): $(OPENSSH_IPK_DIR)/usr/bin/ssh
+ rm -rf $(OPENSSH_IPK_DIR)/build
+ mkdir -p $(OPENSSH_IPK_DIR)/build/CONTROL
+ cp $(SOURCE_DIR)/openssh.sftp-client.control $(OPENSSH_IPK_DIR)/build/CONTROL/control
+ mkdir -p $(OPENSSH_IPK_DIR)/build/usr/bin
+ cp $(OPENSSH_IPK_DIR)/usr/bin/sftp $(OPENSSH_IPK_DIR)/build/usr/bin
+ cd $(BUILD_DIR); $(STAGING_DIR)/bin/ipkg-build -c -o root -g root $(OPENSSH_IPK_DIR)/build
+ rm -rf $(OPENSSH_IPK_DIR)/build
+
+$(OPENSSH_CLIENT_EX_IPK): $(OPENSSH_IPK_DIR)/usr/bin/ssh
+ rm -rf $(OPENSSH_IPK_DIR)/build
+ mkdir -p $(OPENSSH_IPK_DIR)/build/CONTROL
+ cp $(SOURCE_DIR)/openssh.client.ex.control $(OPENSSH_IPK_DIR)/build/CONTROL/control
+ mkdir -p $(OPENSSH_IPK_DIR)/build/usr/bin
+ cp $(OPENSSH_IPK_DIR)/usr/bin/ssh-add $(OPENSSH_IPK_DIR)/build/usr/bin
+ cp $(OPENSSH_IPK_DIR)/usr/bin/ssh-agent $(OPENSSH_IPK_DIR)/build/usr/bin
+ cp $(OPENSSH_IPK_DIR)/usr/bin/ssh-keyscan $(OPENSSH_IPK_DIR)/build/usr/bin
+ mkdir -p $(OPENSSH_IPK_DIR)/build/usr/sbin
+ cp $(OPENSSH_IPK_DIR)/usr/sbin/ssh-keysign $(OPENSSH_IPK_DIR)/build/usr/sbin
+ cd $(BUILD_DIR); $(STAGING_DIR)/bin/ipkg-build -c -o root -g root $(OPENSSH_IPK_DIR)/build
+ rm -rf $(OPENSSH_IPK_DIR)/build
+
+openssh-ipk: $(OPENSSH_SERVER_IPK) $(OPENSSH_CLIENT_IPK) \
+ $(OPENSSH_SFTP_SERVER_IPK) $(OPENSSH_SFTP_CLIENT_IPK) \
+ $(OPENSSH_CLIENT_EX_IPK)
+
openssh-source: $(DL_DIR)/$(OPENSSH_SOURCE)
openssh-clean:
--- /dev/null
+/etc/ssh_config
--- /dev/null
+Package: openssh-client
+Priority: optional
+Version: 3.8p1-1
+Architecture: mipsel
+Maintainer: below0
+Section: net
+Depends: zlib openssl
+Source: Embedded in the main OpenWrt buildroot
+Description: The OpenSSH client. Allows for access to remote systems via the SSH protocol.
+ Includes: ssh, scp
+
+
--- /dev/null
+Package: openssh-client-extras
+Priority: optional
+Version: 3.8p1-1
+Architecture: mipsel
+Maintainer: below0
+Section: net
+Depends: openssh-client
+Source: Embedded in the main OpenWrt buildroot
+Description: Various optional OpenSSH client tools.
+ Includes: ssh-add, ssh-agent, ssh-keyscan, ssk-keysign
+
+
--- /dev/null
+#!/bin/sh
+
+# Make sure password and group databases exist
+if [ ! -f /etc/passwd ]; then
+ echo -e "root::0:0::/tmp:/bin/sh\nnobody:x:65534:65534:nobody:/tmp:/bin/sh\nsshd:x:100:65534:sshd:/var:/bin/false\n" > /etc/passwd
+ [ -f /etc/group ] || echo -e "root:x:0:\nnogroup:x:65534:\n" > /etc/group
+ echo "\n\nNOTICE: SSH requires proper root password to be configured, set it now."
+ passwd
+fi
+
--- /dev/null
+# $OpenBSD: ssh_config,v 1.19 2003/08/13 08:46:31 markus Exp $
+
+# This is the ssh client system-wide configuration file. See
+# ssh_config(5) for more information. This file provides defaults for
+# users, and the values can be changed in per-user configuration files
+# or on the command line.
+
+# Configuration data is parsed as follows:
+# 1. command line options
+# 2. user-specific file
+# 3. system-wide file
+# Any configuration value is only changed the first time it is set.
+# Thus, host-specific definitions should be at the beginning of the
+# configuration file, and defaults at the end.
+
+# Site-wide defaults for various options
+
+# Host *
+# ForwardAgent no
+# ForwardX11 no
+# RhostsRSAAuthentication no
+# RSAAuthentication yes
+# PasswordAuthentication yes
+# HostbasedAuthentication no
+# BatchMode no
+# CheckHostIP yes
+# AddressFamily any
+# ConnectTimeout 0
+# StrictHostKeyChecking ask
+# IdentityFile ~/.ssh/identity
+# IdentityFile ~/.ssh/id_rsa
+# IdentityFile ~/.ssh/id_dsa
+# Port 22
+# Protocol 2,1
+# Cipher 3des
+# Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
+# EscapeChar ~
--- /dev/null
+#!/bin/sh
+#
+# sshd Starts sshd.
+#
+
+mkdir -p /var/lock
+mkdir -p /var/empty
+chmod 600 /var/empty
+
+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 $?
+
--- /dev/null
+/etc/sshd_config
--- /dev/null
+Package: openssh-server
+Priority: optional
+Version: 3.8p1-1
+Architecture: mipsel
+Maintainer: below0
+Section: net
+Depends: zlib openssl
+Source: Embedded in the main OpenWrt buildroot
+Description: The OpenSSH server daemon.
+ Allows for access to the system via the SSH client.
+ Includes: sshd, ssh-keygen
+
+
--- /dev/null
+#!/bin/sh
+
+# 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... (Takes a few minutes)"
+ /usr/bin/ssh-keygen -t dsa -f /etc/ssh_host_dsa_key -C '' -N ''
+fi
+
--- /dev/null
+#!/bin/sh
+
+# Make sure password and group databases exist
+if [ ! -f /etc/passwd ]; then
+ echo -e "root::0:0::/tmp:/bin/sh\nnobody:x:65534:65534:nobody:/tmp:/bin/sh\nsshd:x:100:65534:sshd:/var:/bin/false\n" > /etc/passwd
+ [ -f /etc/group ] || echo -e "root:x:0:\nnogroup:x:65534:\n" > /etc/group
+ echo "\n\nNOTICE: SSH requires proper root password to be configured, set it now."
+ passwd
+fi
+
--- /dev/null
+# $OpenBSD: sshd_config,v 1.68 2003/12/29 16:39:50 millert Exp $
+
+# This is the sshd server system-wide configuration file. See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
+
+# The strategy used for options in the default sshd_config shipped with
+# OpenSSH is to specify options with their default value where
+# possible, but leave them commented. Uncommented options change a
+# default value.
+
+#Port 22
+#Protocol 2,1
+#ListenAddress 0.0.0.0
+#ListenAddress ::
+
+# HostKey for protocol version 1
+#HostKey /etc/ssh_host_key
+# HostKeys for protocol version 2
+#HostKey /etc/ssh_host_rsa_key
+#HostKey /etc/ssh_host_dsa_key
+
+# Lifetime and size of ephemeral version 1 server key
+#KeyRegenerationInterval 1h
+#ServerKeyBits 768
+
+# Logging
+#obsoletes QuietMode and FascistLogging
+#SyslogFacility AUTH
+#LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 2m
+#PermitRootLogin yes
+#StrictModes yes
+
+#RSAAuthentication yes
+#PubkeyAuthentication yes
+#AuthorizedKeysFile .ssh/authorized_keys
+
+# For this to work you will also need host keys in /etc/ssh_known_hosts
+#RhostsRSAAuthentication no
+# similar for protocol version 2
+#HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# RhostsRSAAuthentication and HostbasedAuthentication
+#IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+
+# To disable tunneled clear text passwords, change to no here!
+#PasswordAuthentication yes
+#PermitEmptyPasswords no
+
+# Change to no to disable s/key passwords
+#ChallengeResponseAuthentication yes
+
+# Kerberos options
+#KerberosAuthentication no
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+#GSSAPICleanupCredentials yes
+
+# Set this to 'yes' to enable PAM authentication (via challenge-response)
+# and session processing. Depending on your PAM configuration, this may
+# bypass the setting of 'PasswordAuthentication' and 'PermitEmptyPasswords'
+#UsePAM no
+
+#AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+#PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#UseLogin no
+#UsePrivilegeSeparation yes
+#PermitUserEnvironment no
+#Compression yes
+#ClientAliveInterval 0
+#ClientAliveCountMax 3
+#UseDNS yes
+#PidFile /var/run/sshd.pid
+#MaxStartups 10
+
+# no default banner path
+#Banner /some/path
+
+ClientAliveInterval 15
+ClientAliveCountMax 4
+
+# override default of no subsystems
+Subsystem sftp /usr/sbin/sftp-server
--- /dev/null
+Package: openssh-sftp-client
+Priority: optional
+Version: 3.8p1-1
+Architecture: mipsel
+Maintainer: below0
+Section: net
+Depends: openssh-client
+Source: Embedded in the main OpenWrt buildroot
+Description: OpenSSH Secure FTP server.
+ Includes: sftp-server
+
+
--- /dev/null
+Package: openssh-sftp-server
+Priority: optional
+Version: 3.8p1-1
+Architecture: mipsel
+Maintainer: below0
+Section: net
+Depends: openssh-server
+Source: Embedded in the main OpenWrt buildroot
+Description: OpenSSH Secure FTP server.
+ Includes: sftp-server
+
+