1109864Sjeff#	$OpenBSD: forcecommand.sh,v 1.2 2013/05/17 00:37:40 dtucker Exp $
2165762Sjeff#	Placed in the Public Domain.
3109864Sjeff
4109864Sjefftid="forced command"
5109864Sjeff
6109864Sjeffcp $OBJ/sshd_proxy $OBJ/sshd_proxy_bak
7109864Sjeff
8109864Sjeffprintf 'command="true" ' >$OBJ/authorized_keys_$USER
9109864Sjeffcat $OBJ/rsa.pub >> $OBJ/authorized_keys_$USER
10109864Sjeffprintf 'command="true" ' >>$OBJ/authorized_keys_$USER
11109864Sjeffcat $OBJ/rsa1.pub >> $OBJ/authorized_keys_$USER
12109864Sjeff
13109864Sjefffor p in 1 2; do
14109864Sjeff	trace "forced command in key option proto $p"
15109864Sjeff	${SSH} -$p -F $OBJ/ssh_proxy somehost false \ ||
16109864Sjeff	    fail "forced command in key proto $p"
17109864Sjeffdone
18109864Sjeff
19109864Sjeffprintf 'command="false" ' >$OBJ/authorized_keys_$USER
20109864Sjeffcat $OBJ/rsa.pub >> $OBJ/authorized_keys_$USER
21109864Sjeffprintf 'command="false" ' >>$OBJ/authorized_keys_$USER
22109864Sjeffcat $OBJ/rsa1.pub >> $OBJ/authorized_keys_$USER
23109864Sjeff
24109864Sjeffcp $OBJ/sshd_proxy_bak $OBJ/sshd_proxy
25109864Sjeffecho "ForceCommand true" >> $OBJ/sshd_proxy
26109864Sjeff
27171482Sjefffor p in 1 2; do
28171482Sjeff	trace "forced command in sshd_config overrides key option proto $p"
29171482Sjeff	${SSH} -$p -F $OBJ/ssh_proxy somehost false \ ||
30171482Sjeff	    fail "forced command in key proto $p"
31171482Sjeffdone
32171482Sjeff
33172293Sjeffcp $OBJ/sshd_proxy_bak $OBJ/sshd_proxy
34171482Sjeffecho "ForceCommand false" >> $OBJ/sshd_proxy
35171482Sjeffecho "Match User $USER" >> $OBJ/sshd_proxy
36171482Sjeffecho "    ForceCommand true" >> $OBJ/sshd_proxy
37171482Sjeff
38116182Sobrienfor p in 1 2; do
39191645Sjeff	trace "forced command with match proto $p"
40116182Sobrien	${SSH} -$p -F $OBJ/ssh_proxy somehost false \ ||
41147565Speter	    fail "forced command in key proto $p"
42147565Speterdone
43134649Sscottl