=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/ssh.c,v retrieving revision 1.515 retrieving revision 1.516 diff -u -r1.515 -r1.516 --- src/usr.bin/ssh/ssh.c 2020/01/25 00:21:08 1.515 +++ src/usr.bin/ssh/ssh.c 2020/01/27 20:51:32 1.516 @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.515 2020/01/25 00:21:08 djm Exp $ */ +/* $OpenBSD: ssh.c,v 1.516 2020/01/27 20:51:32 markus Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1227,11 +1227,18 @@ strcmp(options.proxy_command, "-") == 0 && options.proxy_use_fdpass) fatal("ProxyCommand=- and ProxyUseFDPass are incompatible"); - if (options.control_persist && options.control_path != NULL && - options.update_hostkeys == SSH_UPDATE_HOSTKEYS_ASK) { - debug("UpdateHostKeys=ask is incompatible with ControlPersist; " - "disabling"); - options.update_hostkeys = 0; + if (options.update_hostkeys == SSH_UPDATE_HOSTKEYS_ASK) { + if (options.control_persist && options.control_path != NULL) { + debug("UpdateHostKeys=ask is incompatible with " + "ControlPersist; disabling"); + options.update_hostkeys = 0; + } else if (sshbuf_len(command) != 0 || + options.remote_command != NULL || + options.request_tty == REQUEST_TTY_NO) { + debug("UpdateHostKeys=ask is incompatible with " + "remote command execution; disabling"); + options.update_hostkeys = 0; + } } if (options.connection_attempts <= 0) fatal("Invalid number of ConnectionAttempts");