如何将文件复制到远程 linux 服务器中的共享帐户

how to copy files to a shared account in remote linux server

我们在服务器中有一个多用户共享帐户,每次我在服务器中通过 ssh 登录我自己的帐户并使用 sudo -u shared_account -i 登录该帐户。

现在我想复制一些文件到共享账户,我目前的解决方案是:

  1. 通过scp命令
  2. 将文件复制到服务器中我自己的帐户
  3. 用自己的账号登录服务器
  4. 登录共享帐户
  5. 将我自己帐户中的文件复制到该共享帐户的文件夹中

有什么方法可以直接从本地PC复制​​文件到服务器共享账户的文件夹中吗?

服务器的

OS是Linux,我的本地PC是Mac。

您可以通过 sshsudo 发送存档流。

tar czf - file1 file2 file3 | ssh remote_system sudo -u shared_account tar xvzf -

您对此答案的评论表明您必须在 运行 宁 sudo 时输入密码。不幸的是,问题中没有提到这一点。

如果可以 运行 打开 TCP 端口的程序,例如netcat (nc) 作为共享用户,您可以将此与 tar(或 cpio)结合使用,以使用共享用户的权限和环境直接传输文件。