3 SSH_DIRECTORY=$(mktemp -d /tmp/tmp.swrap.XXXXXXXX)
4 SERVER_ADDRESS="127.0.0.10"
5 mkdir ${SSH_DIRECTORY}/swrap
15 kill -TERM $(< ${SSH_DIRECTORY}/sshd.pid)
16 rm -rf ${SSH_DIRECTORY}
22 trap cleanup_and_exit SIGINT SIGTERM
24 echo Generating ${SSH_DIRECTORY}/ssh_host_key.
25 ssh-keygen -t rsa1 -b 2048 -f ${SSH_DIRECTORY}/ssh_host_key -N '' 2>/dev/null
26 echo Generating ${SSH_DIRECTORY}/ssh_host_dsa_key.
27 ssh-keygen -t dsa -f ${SSH_DIRECTORY}/ssh_host_dsa_key -N '' 2>/dev/null
28 echo Generating ${SSH_DIRECTORY}/ssh_host_rsa_key.
29 ssh-keygen -t rsa -b 2048 -f ${SSH_DIRECTORY}/ssh_host_rsa_key -N '' 2>/dev/null
30 #echo Generating ${SSH_DIRECTORY}/ssh_host_ecdsa_key.
31 #ssh-keygen -t ecdsa -b 256 -f ${SSH_DIRECTORY}/ssh_host_ecdsa_key -N '' 2>/dev/null
33 # Create sshd_config file
34 cat > ${SSH_DIRECTORY}/sshd_config << EOT
36 ListenAddress ${SERVER_ADDRESS}
37 HostKey ${SSH_DIRECTORY}/ssh_host_key
38 HostKey ${SSH_DIRECTORY}/ssh_host_rsa_key
39 HostKey ${SSH_DIRECTORY}/ssh_host_dsa_key
40 #HostKey ${SSH_DIRECTORY}/ssh_host_ecdsa_key
41 Subsystem sftp /usr/lib/ssh/sftp-server
45 AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
46 AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
47 AcceptEnv LC_IDENTIFICATION LC_ALL
49 PidFile ${SSH_DIRECTORY}/sshd.pid
52 export SOCKET_WRAPPER_DIR="${SSH_DIRECTORY}/swrap"
53 export SOCKET_WRAPPER_DEFAULT_IFACE=11
56 echo "Starting SSHD with SOCKET_WRAPPER_DIR=${SSH_DIRECTORY}/swrap ..."
57 DYLD_INSERT_LIBRARIES=libsocket_wrapper.dylib LD_PRELOAD=libsocket_wrapper.so /usr/sbin/sshd -f ${SSH_DIRECTORY}/sshd_config -e 2> ${SSH_DIRECTORY}/sshd_log || cleanup_and_exit 1
61 echo "Connecting to the ${SERVER_ADDRESS} ssh server using ssh binary."
62 echo "You can check the sshd log file at ${SSH_DIRECTORY}/sshd_log."
63 echo "If you logout sshd will be stopped and the environment cleaned up."
64 DYLD_INSERT_LIBRARIES=libsocket_wrapper.dylib LD_PRELOAD=libsocket_wrapper.so ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ${SERVER_ADDRESS}