【问题标题】:SCP a file between two remote servers without prompting for passwordSCP 两个远程服务器之间的文件而不提示输入密码
【发布时间】:2016-11-15 14:20:49
【问题描述】:

场景:

我有 3 个系统,1.管理系统 2.数据仓库 3.客户端系统

我拥有所有可用的 3 台服务器的凭据。我从用户那里获取客户端凭据(IP、用户名和密码),然后我需要触发一个命令,将 remore 数据仓库上可用的文件直接从我的管理系统复制到远程客户端系统。

服务器 M(管理系统),服务器 D(数据仓库)服务器 C(客户端系统)

需要在一个命令中将 D:/home/file.txt 中的文件从 M 复制到 C:/home/,而无需任何密码提示,并且应在命令本身中为两台服务器提供密码。

我正在使用的命令:

/usr/bin/sshpass -p "clientpassword" scp -P [ClientPort-22] -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@D:/home/filex.txt root@C:/home/

我不确定如何以及在何处为服务器 D 设置密码和端口。这里我假设我不能使用 keygen,因为用户在运行时输入了客户端密码。

【问题讨论】:

  • 我提到客户端 C 的凭据是在运行时从用户那里获取的,因此我无法预先配置。

标签: linux unix ssh scp remote-server


【解决方案1】:

在 D 和 C 之间配置基于密钥的无密码身份验证。并触发您提到的命令将完成您的工作。

这将有助于做到这一点:https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2

【讨论】:

  • 正如我提到的密码是在运行时获取的,我需要命令: 1. 配置基于密钥的密码身份验证 2. 实际 SCP。我无法事先对其进行配置。
猜你喜欢
  • 2021-03-10
  • 2019-02-15
  • 2018-09-04
  • 1970-01-01
  • 1970-01-01
  • 2019-07-21
  • 1970-01-01
  • 1970-01-01
  • 2016-11-04
相关资源
最近更新 更多