相关疑难解决方法(0)

在一行中的服务器之间复制受保护的文件?

我想squid.conf从一台服务器复制到另一台服务器。

  • 服务器不互相交谈。我想通过我的工作站。
  • 两台服务器都有该文件,因此它将在目标上被覆盖。
  • 这些文件有600权限并且归 root 所有。
  • 通过 ssh 的 root 登录被禁用 ( PermitRootLogin no)。
  • 如果可能的话,我想在一行中完成,因为它将成为设置指南的一部分。

我知道要做

ssh source 'tar czpf - -C /etc/squid/ squid.conf' | \
    ssh target 'tar xzpf - -C /etc/squid/'
Run Code Online (Sandbox Code Playgroud)

在服务器之间复制文件并保留权限。但是,在这种情况下,我将收到“权限被拒绝”。

我也知道我可以这样做:

ssh -t source 'sudo cat /etc/squid/squid.conf'
Run Code Online (Sandbox Code Playgroud)

这种方式-t允许 sudo 在输出文件内容之前询问管理员密码。

问题是,我不知道如何将这些技术组合成在每台服务器上要求 sudo 密码的东西,并将文件传输到其目的地。这可能吗?

更新:这是我能想到的最好的:

ssh -t source 'sudo tar czf /tmp/squid.tgz -C /etc/squid squid.conf' && \
ssh source 'cat /tmp/squid.tgz' | \
    ssh target 'cat >/tmp/squid.tgz' && \ …
Run Code Online (Sandbox Code Playgroud)

ssh sudo file-transfer

13
推荐指数
1
解决办法
7676
查看次数

标签 统计

file-transfer ×1

ssh ×1

sudo ×1