我需要在 Linux 机器之间复制文件。我用来登录的用户 ( myuser
)的问题与可以访问该文件的用户不同。
如果我只是ssh
在机器上,我可以使用 切换用户sudo su someuser
,我可以以某种方式进行scp
吗?
在使用 WinSCP 时,我通过配置 SCP/Shell 设法做到了,所以我相信必须有一种类似的方法可以通过纯 Shell 来做到这一点。
假设您可以通过 ssh 访问的用户不需要密码即可 sudo su 进入目标用户,您可以尝试以下操作:
dd if=myfile | ssh some.host "sudo -u targetuser dd of=myfile"
Run Code Online (Sandbox Code Playgroud)
... 请注意,我仍然不相信简单地配置targetuser
为仅允许通过 SSH 进行 scp/sftp/rsync 并使用 RSA 密钥对进行身份验证并不是更好的选择。