两台远程机器之间的 scp 需要密码验证

两台远程机器之间的 scp 需要密码验证

背景

我想将文件从一台远程机器复制remoteA到另一台remoteB。这些机器需要密码验证。

我尝试过的步骤

我试过这个命令

$ scp -3 user@remoteA:/path/to/file user@remoteB:/path/to/dest

然后一行中出现双密码提示。

Password: Password:

然后我输入了如下密码,

Password:
Password:
Password:
Password:
user@remoteB: Permission denied (publickey,keyboard-interactive).
user@remoteA: Permission denied (publickey,keyboard-interactive).

但许可被拒绝。

有没有办法在这些机器之间进行 scp?


环境

本地机器

  • macOS Mojave 10.14.4
  • ssh -V:OpenSSH_7.9p1,LibreSSL 2.7.3

修改 #1

我已经有.ssh/config如下文件

Host remoteA
  HostKeyAlias remoteA
  ControlMaster auto
  ControlPath ~/.ssh/mux-%r@%h:%p
Host remoteB
  HostKeyAlias remoteB
  ControlMaster auto
  ControlPath ~/.ssh/mux-%r@%h:%p

答案1

ControlMaster设置(如上所述)修改 #1部分)跳过询问密码。

首先,使用ssh命令连接每个服务器。

(ttys001)
$ ssh remoteA
---
(ttys002)
$ ssh remoteB

然后,scp在另一个 tty 中执行。

(ttys003)
$ scp -3 user@remoteA:/path/to/file user@remoteB:/path/to/dest

相关内容