@ -641,7 +641,7 @@ class Connection(ConnectionBase):
# only when using ssh. Otherwise we can send initial data straightaway.
state = states . index ( ' ready_to_send ' )
if b ' ssh ' in cmd :
if b ' ssh ' in cmd and sudoable :
if self . _play_context . prompt :
# We're requesting escalation with a password, so we have to
# wait for a password prompt.
@ -853,7 +853,7 @@ class Connection(ConnectionBase):
def _run ( self , cmd , in_data , sudoable = True , checkrc = True ) :
""" Wrapper around _bare_run that retries the connection
"""
return self . _bare_run ( cmd , in_data , sudoable , checkrc )
return self . _bare_run ( cmd , in_data , sudoable = sudoable , checkrc = checkrc )
@_ssh_retry
def _file_transport_command ( self , in_path , out_path , sftp_action ) :
@ -914,7 +914,7 @@ class Connection(ConnectionBase):
else :
in_data = open ( to_bytes ( in_path , errors = ' surrogate_or_strict ' ) , ' rb ' ) . read ( )
in_data = to_bytes ( in_data , nonstring = ' passthru ' )
( returncode , stdout , stderr ) = self . exec_command ( ' dd of= %s bs= %s ' % ( out_path , BUFSIZE ) , in_data = in_data )
( returncode , stdout , stderr ) = self . exec_command ( ' dd of= %s bs= %s ' % ( out_path , BUFSIZE ) , in_data = in_data , sudoable = False )
# Check the return code and rollover to next method if failed
if returncode == 0 :