我可以通过 SSH 访问一个盒子,我想将一些文件传输到另一台机器,但这些文件只能在另一个帐户下访问
如果我ssh
有了 1,那么sudo
2 我就可以浏览它们。
我实际上想要的是一个镜像,以便将它们复制到我的 Windows PC 上
如果只有 SSH 可用,我该如何实现?
答案1
您可以使用 tar 和管道之类的东西来执行此操作(只要两台主机上都有 tar)。例如,要将 root 的主目录复制到另一台主机:
sudo tar c -C / root | ssh remote_host tar xv -C some/location/to/unpack/into
(假设 gnu tar 支持 -C,则可以不使用‘()’来完成,但这比较棘手)当然,您可以在远程端执行 sudo:
tar c -C my_trojan_files . | ssh remote_host sudo tar xv -C /usr/bin
这里的诀窍是,在这两种情况下,tar 都会将存档发送到 STDOUT,然后通过 ssh 将其传送到远程主机上运行的命令中。您也可以使用 cpio 和 dump/restore 执行此操作。
答案2
你可以使用 scp。操作如下:
scp <file to transfer> user@server:/place/to/put/file
scp 由 openssh-client 包中的 ssh 提供
要了解更多信息,请输入“man scp”。
答案3
我假设您没有其他用户帐户的密码,也没有 root 帐户的密码,并且/或者远程主机不允许通过 SSH 直接登录 root。
如果数据不是太多,我会事先通过 SSH 登录,成为 root 用户,创建数据的 tarball,授予普通用户对该 tarball 的访问权限,然后以普通用户身份下载该 tarball。
答案4
您可以在 Windows 机器上安装 winscp,以通过 ssh 从 Ubuntu 机器中提取文件。http://winscp.net
他们的网站上有关于登录后转到另一个用户的说明:http://winscp.net/eng/docs/faq_su