summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarkus@openbsd.org <markus@openbsd.org>2020-04-30 17:07:10 +0000
committerDamien Miller <djm@mindrot.org>2020-05-01 13:13:29 +1000
commitea14103ce9a5e13492e805f7e9277516ff5a4273 (patch)
tree47d3eb19acf4fd20d59a7042b406ee21988d3b2a
parent59d2de956ed29aa5565ed5e5947a7abdb27ac013 (diff)
upstream: run the 2nd ssh with BatchMode for scp -3
OpenBSD-Commit-ID: 77994fc8c7ca02d88e6d0d06d0f0fe842a935748
-rw-r--r--scp.19
-rw-r--r--scp.c3
2 files changed, 8 insertions, 4 deletions
diff --git a/scp.1 b/scp.1
index 9c3a85366..36d9e735e 100644
--- a/scp.1
+++ b/scp.1
@@ -8,9 +8,9 @@
8.\" 8.\"
9.\" Created: Sun May 7 00:14:37 1995 ylo 9.\" Created: Sun May 7 00:14:37 1995 ylo
10.\" 10.\"
11.\" $OpenBSD: scp.1,v 1.87 2019/11/30 07:07:59 jmc Exp $ 11.\" $OpenBSD: scp.1,v 1.88 2020/04/30 17:07:10 markus Exp $
12.\" 12.\"
13.Dd $Mdocdate: November 30 2019 $ 13.Dd $Mdocdate: April 30 2020 $
14.Dt SCP 1 14.Dt SCP 1
15.Os 15.Os
16.Sh NAME 16.Sh NAME
@@ -74,7 +74,10 @@ The options are as follows:
74Copies between two remote hosts are transferred through the local host. 74Copies between two remote hosts are transferred through the local host.
75Without this option the data is copied directly between the two remote 75Without this option the data is copied directly between the two remote
76hosts. 76hosts.
77Note that this option disables the progress meter. 77Note that this option disables the progress meter and selects batch mode
78for the second host, since
79.Nm scp
80cannot ask passwords or passphrases for both hosts.
78.It Fl 4 81.It Fl 4
79Forces 82Forces
80.Nm 83.Nm
diff --git a/scp.c b/scp.c
index 6901e0c94..812ab5301 100644
--- a/scp.c
+++ b/scp.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: scp.c,v 1.207 2020/01/23 07:10:22 dtucker Exp $ */ 1/* $OpenBSD: scp.c,v 1.208 2020/04/30 17:07:10 markus Exp $ */
2/* 2/*
3 * scp - secure remote copy. This is basically patched BSD rcp which 3 * scp - secure remote copy. This is basically patched BSD rcp which
4 * uses ssh to do the data transfer (instead of using rcmd). 4 * uses ssh to do the data transfer (instead of using rcmd).
@@ -348,6 +348,7 @@ do_cmd2(char *host, char *remuser, int port, char *cmd, int fdin, int fdout)
348 addargs(&args, "-l"); 348 addargs(&args, "-l");
349 addargs(&args, "%s", remuser); 349 addargs(&args, "%s", remuser);
350 } 350 }
351 addargs(&args, "-oBatchMode=yes");
351 addargs(&args, "--"); 352 addargs(&args, "--");
352 addargs(&args, "%s", host); 353 addargs(&args, "%s", host);
353 addargs(&args, "%s", cmd); 354 addargs(&args, "%s", cmd);