sudo 后如何通过 ssh 传输文件?

Ale*_*ran 6 ssh sudo file-sharing

我可以通过 SSH 访问一个盒子,有些文件我想转移到另一台机器上,但这些文件只能在另一个帐户下访问

如果我ssh有 1,那么sudo2 我可以浏览它们。

我实际上想要的是一个镜像来将它们复制到我的基于 Windows 的 PC 上

如果只有 SSH 可用,我该如何实现?

Ste*_*tie 5

你可以使用类似 tar to 和 pipe 的东西来做到这一点(只要你在两台主机上都有可用的 tar)。例如,要将 root 的 homedir 复制到另一台主机:

sudo tar c -C / root | ssh remote_host tar xv -C some/location/to/unpack/into

(假设 -C 支持 gnu tar,它可以在没有它的情况下使用 '()' 完成,但它更棘手)当然,您可以在远程端执行 sudo :

tar c -C my_trojan_files . | ssh remote_host sudo tar xv -C /usr/bin

这里的诀窍是,在这两种情况下,tar 都将存档发送到 STDOUT,后者通过 ssh 传输到远程主机上运行的命令中。您也可以使用 cpio 和 dump/restore 来做到这一点。


saj*_*ajb 2

我假设您没有其他用户帐户的密码,也没有 root 帐户的密码,和/或远程主机不允许通过 SSH 直接 root 登录。

如果数据不是太多,我会事先通过 SSH 登录,成为 root,创建​​数据的 tarball,为您的普通用户授予对 tarball 的访问权限,然后以普通用户的身份下载 tarball。