我ssh
进入我的网络主机目录,然后tar
输入要下载的 Web 应用程序。当我尝试mv
输入~/mydirectory/backups
或时/home/mydirectory/backups
,它将“home”定义为我通过 ssh 进入的网络主机上的根目录。
我如何在仍在网络主机系统内的情况下通过 ssh 访问本地驱动器?
答案1
首先:ssh 是一种远程登录另一台计算机的方法。使用 ssh 后获得的 shell(命令行)与在远程计算机上打开 xterm 时的情况(基本相同)。它不提供这种移动文件的方法。
然而,远程计算机接受 ssh 连接的事实为您提供了一些交换文件的选项:
使用 scp 要从本地计算机复制到远程,请在本地计算机中输入:
scp /tmp/file [email protected]:/home/name/dir
(其中 /tmp/file 可以替换为任何本地文件,/home/name/dir 可以替换为任何远程目录)
要从远程计算机复制到本地计算机,请在当地的电脑:
scp [email protected]:/home/name/dir/file /tmp
使用 sshfs 这有点高级,但更好(当两台计算机的互联网连接良好时。如果不是,请坚持使用 scp)
您可以将远程计算机的目录“链接”到本地计算机的(空)目录。假设您将远程计算机的 /some/remote/dir “链接”到您计算机中的 /home/youruser/remotecomp。如果远程计算机中有文件 /some/remote/dir/file,您可以在 /home/youruser/remotecomp/file 上看到它。您可以像往常一样复制和 mv,甚至可以更改远程文件和目录。
但请注意,当连接结束时,/home/youruser/remotecomp 再次变为空目录,并且您只会在本地计算机中保留复制到其他目录的文件
为了达成这个:
- 安装 sshfs:
sudo apt-get install sshfs
- 创建一个空目录
mkdir /home/youruser/remotecomp
- “链接”两个目录(正确的术语是 mount)
sshfs [email protected]:/some/remote/dir /home/youruser/remotecomp
享受
“取消链接”目录
fusermount -u /home/youruser/remotecomp
如果本地计算机运行的是 Windows
您可以找到scp
适用于 Windows 的版本。例如,请参阅韓國
Rsync rsync 是一个用于复制文件的实用程序,它可以:
- 恢复转会
- 重新进行传输,但只发送发生变化的文件。
要复制单个文件,您可以使用rsync -P -e ssh /tmp/file [email protected]:/home/name/dir
为了保持目录同步,仅发送所需的文件,您可以使用rsync -avzh /home/yourname/dir_name [email protected]:/var/temp/
还有许多其他选项,包括如果文件不再存在于本地目录中,则删除远程目录中的文件。
这个选项有点难。例如,你可能会弄乱尾部斜杠(请注意,在最后一个命令中,dir_name 没有尾部斜杠,但 /var/temp/ 有)。所以它很有用,但需要一些测试和/或man rsync
与往常一样,命令在本地计算机中运行,而不是远程计算机
答案2
您可以使用scp
或rsync
。在您的本地系统中:
scp remoteuser@remotehost:/remote/dir/file /local/dir/
但是,既然您提到了备份,我假设它将是增量的,并且您需要不时地进行备份。因此,rsync
增量备份是更好的选择。在您的本地 shell 上:
rsync -avz -e ssh remoteuser@remotehost:/remote/dir /local/dir/
请参阅rsync(1)
手册scp(1)
页以了解选项。
答案3
你可以使用SCP安全副本。
从你的本地 shell:
scp -C username@webhost:/path/of-the/tar.archive /home/mydirectory/backups/
此示例将通过 ssh 从您的网络主机的 /path/of-the/tar.archive 复制到 /home/mydirectory/backups/
额外选项:
-C:启用压缩
答案4
其他答案推荐rsync
或scp
,两者都要求您知道要在远程计算机上复制的文件的位置。
如果您希望能够在远程计算机上四处查看,就像使用 一样ssh
,您需要运行sftp
。登录服务器与 非常相似ssh
,但一旦进入,键入help
以获取命令列表 - 它可以让您在本地和远程计算机上移动,并轻松地来回传输文件。