⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test-exec.sh

📁 OpenSSL Source code for SFTP, SSH, and many others
💻 SH
字号:
#	$OpenBSD: test-exec.sh,v 1.14 2002/04/15 15:19:48 markus Exp $#	Placed in the Public Domain.PORT=4242USER=`id -un`SUDO=#SUDO=sudoOBJ=$1if [ "x$OBJ" = "x" ]; then	echo '$OBJ not defined'	exit 2fiif [ ! -d $OBJ ]; then	echo "not a directory: $OBJ"	exit 2fiSCRIPT=$2if [ "x$SCRIPT" = "x" ]; then	echo '$SCRIPT not defined'	exit 2fiif [ ! -f $SCRIPT ]; then	echo "not a file: $SCRIPT"	exit 2fiif sh -n $SCRIPT; then	trueelse	echo "syntax error in $SCRIPT"	exit 2fiunset SSH_AUTH_SOCK# defaultsSSH=sshSSHD=sshdSSHAGENT=ssh-agentSSHADD=ssh-addSSHKEYGEN=ssh-keygenSSHKEYSCAN=ssh-keyscanSFTP=sftpSFTPSERVER=/usr/libexec/openssh/sftp-serverif [ "x$TEST_SSH_SSH" != "x" ]; then	SSH=${TEST_SSH_SSH}fiif [ "x$TEST_SSH_SSHD" != "x" ]; then	SSHD=${TEST_SSH_SSHD}fiif [ "x$TEST_SSH_SSHAGENT" != "x" ]; then	SSHAGENT=${TEST_SSH_SSHAGENT}fiif [ "x$TEST_SSH_SSHADD" != "x" ]; then	SSHADD=${TEST_SSH_SSHADD}fiif [ "x$TEST_SSH_SSHKEYGEN" != "x" ]; then	SSHKEYGEN=${TEST_SSH_SSHKEYGEN}fiif [ "x$TEST_SSH_SSHKEYSCAN" != "x" ]; then	SSHKEYSCAN=${TEST_SSH_SSHKEYSCAN}fiif [ "x$TEST_SSH_SFTP" != "x" ]; then	SFTP=${TEST_SSH_SFTP}fiif [ "x$TEST_SSH_SFTPSERVER" != "x" ]; then	SFTPSERVER=${TEST_SSH_SFTPSERVER}fi# these should be used in testsexport SSH SSHD SSHAGENT SSHADD SSHKEYGEN SSHKEYSCAN SFTP SFTPSERVER#echo $SSH $SSHD $SSHAGENT $SSHADD $SSHKEYGEN $SSHKEYSCAN $SFTP $SFTPSERVER# helpercleanup (){	if [ -f $PIDFILE ]; then		pid=`cat $PIDFILE`		if [ "X$pid" = "X" ]; then			echo no sshd running		else			if [ $pid -lt 2 ]; then				echo bad pid for ssd: $pid			else				$SUDO kill $pid			fi		fi	fi}trace (){	if [ "X$TEST_SSH_TRACE" = "Xyes" ]; then		echo "$@"	fi}verbose (){	if [ "X$TEST_SSH_QUIET" != "Xyes" ]; then		echo "$@"	fi}fail (){	RESULT=1	echo "$@"}fatal (){	echo -n "FATAL: "	fail "$@"	cleanup	exit $RESULT}RESULT=0PIDFILE=$OBJ/pidfiletrap fatal 3 2# create server configcat << EOF > $OBJ/sshd_config	Port			$PORT	ListenAddress		127.0.0.1	#ListenAddress		::1	PidFile			$PIDFILE	AuthorizedKeysFile	$OBJ/authorized_keys_%u	LogLevel		QUIETEOF# server config for proxy connectscp $OBJ/sshd_config $OBJ/sshd_proxy# allow group-writable directories in proxy-modeecho 'StrictModes no' >> $OBJ/sshd_proxy# create client configcat << EOF > $OBJ/ssh_configHost *	Hostname		127.0.0.1	HostKeyAlias		localhost-with-alias	Port			$PORT	User			$USER	GlobalKnownHostsFile	$OBJ/known_hosts	UserKnownHostsFile	$OBJ/known_hosts	RSAAuthentication	yes	PubkeyAuthentication	yes	ChallengeResponseAuthentication	no	HostbasedAuthentication	no	PasswordAuthentication	no	RhostsAuthentication	no	RhostsRSAAuthentication	no	BatchMode		yes	StrictHostKeyChecking	yesEOFrm -f $OBJ/known_hosts $OBJ/authorized_keys_$USERtrace "generate keys"for t in rsa rsa1; do	# generate user key	rm -f $OBJ/$t	${SSHKEYGEN} -q -N '' -t $t  -f $OBJ/$t ||\		fail "ssh-keygen for $t failed"	# known hosts file for client	(		echo -n 'localhost-with-alias,127.0.0.1,::1 '		cat $OBJ/$t.pub	) >> $OBJ/known_hosts	# setup authorized keys	cat $OBJ/$t.pub >> $OBJ/authorized_keys_$USER	echo IdentityFile $OBJ/$t >> $OBJ/ssh_config	# use key as host key, too	$SUDO cp $OBJ/$t $OBJ/host.$t	echo HostKey $OBJ/host.$t >> $OBJ/sshd_config	# don't use SUDO for proxy connect	echo HostKey $OBJ/$t >> $OBJ/sshd_proxydonechmod 644 $OBJ/authorized_keys_$USER# create a proxy version of the client config(	cat $OBJ/ssh_config	echo proxycommand ${SSHD} -i -f $OBJ/sshd_proxy) > $OBJ/ssh_proxy# check proxy config${SSHD} -t -f $OBJ/sshd_proxy	|| fatal "sshd_proxy broken"start_sshd (){	# start sshd	$SUDO ${SSHD} -f $OBJ/sshd_config -t	|| fatal "sshd_config broken"	$SUDO ${SSHD} -f $OBJ/sshd_config	trace "wait for sshd"	i=0;	while [ ! -f $PIDFILE -a $i -lt 5 ]; do		i=`expr $i + 1`		sleep $i	done	test -f $PIDFILE || fatal "no sshd running on port $PORT"}# source test body. $SCRIPT# kill sshdcleanupif [ $RESULT -eq 0 ]; then	verbose ok $tidelse	echo failed $tidfiexit $RESULT

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -