我想squid.conf从一台服务器复制到另一台服务器。
600权限并且归 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)