diff options
Diffstat (limited to 'regress/keys-command.sh')
-rw-r--r-- | regress/keys-command.sh | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/regress/keys-command.sh b/regress/keys-command.sh index 09f4db4b7..b595a434f 100644 --- a/regress/keys-command.sh +++ b/regress/keys-command.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: keys-command.sh,v 1.1 2012/11/22 22:49:30 djm Exp $ | 1 | # $OpenBSD: keys-command.sh,v 1.2 2012/12/06 06:06:54 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="authorized keys from command" | 4 | tid="authorized keys from command" |
@@ -14,7 +14,7 @@ fi | |||
14 | KEY_COMMAND="/var/run/keycommand_${LOGNAME}" | 14 | KEY_COMMAND="/var/run/keycommand_${LOGNAME}" |
15 | cat << _EOF | $SUDO sh -c "cat > '$KEY_COMMAND'" | 15 | cat << _EOF | $SUDO sh -c "cat > '$KEY_COMMAND'" |
16 | #!/bin/sh | 16 | #!/bin/sh |
17 | test "x\$1" -ne "x${LOGNAME}" && exit 1 | 17 | test "x\$1" != "x${LOGNAME}" && exit 1 |
18 | exec cat "$OBJ/authorized_keys_${LOGNAME}" | 18 | exec cat "$OBJ/authorized_keys_${LOGNAME}" |
19 | _EOF | 19 | _EOF |
20 | $SUDO chmod 0755 "$KEY_COMMAND" | 20 | $SUDO chmod 0755 "$KEY_COMMAND" |
@@ -27,7 +27,13 @@ cp $OBJ/sshd_proxy $OBJ/sshd_proxy.bak | |||
27 | echo AuthorizedKeysCommandUser ${LOGNAME} | 27 | echo AuthorizedKeysCommandUser ${LOGNAME} |
28 | ) > $OBJ/sshd_proxy | 28 | ) > $OBJ/sshd_proxy |
29 | 29 | ||
30 | ${SSH} -F $OBJ/ssh_proxy somehost true | 30 | if [ -x $KEY_COMMAND ]; then |
31 | if [ $? -ne 0 ]; then | 31 | ${SSH} -F $OBJ/ssh_proxy somehost true |
32 | fail "connect failed" | 32 | if [ $? -ne 0 ]; then |
33 | fail "connect failed" | ||
34 | fi | ||
35 | else | ||
36 | echo "SKIPPED: $KEY_COMMAND not executable (/var/run mounted noexec?)" | ||
33 | fi | 37 | fi |
38 | |||
39 | $SUDO rm -f $KEY_COMMAND | ||