9

如何将文件从我正在远程访问的计算机传输回我当前所在的计算机?

谁能帮我?

这是我到目前为止所知道的语法,

scp(文件名)(我不知道放什么在这里):(我电脑上的位置)

4

4 回答 4

10

scp 实际上比乍一看更容易使用。

scp <from> <to>

<from>或者<to>可以是本地的或远程的。

远程文件的形式为user@host:path_on_remote

本地文件只是简单的路径:/path/to/my/file.txt

如果您手动执行此操作,您可能会发现不将文件复制办公室机器更容易,方法是在登录到远程主机之前从 localhost 运行以下命令:

scp user@remotehost:/path/to/my/file/on/remote.txt /local/path/local.txt

如果你需要复制一个目录——正如已经提到的——你可以给 scp-r选项。

当登录到远程时,复制回来基本相同,尽管您需要在本地计算机上运行 ssh,这可能需要在本地路由器上进行端口转发。我倾向于发现scp在我的笔记本电脑上调用服务器比反过来更容易。

于 2013-05-19T21:40:08.743 回答
8

如果您的计算机可以访问 Internet,那么这 - 虽然它是 hacky - 应该可以工作;

scp (filename) `echo $SSH_CLIENT | awk '{print $1}'`:(location on my computer)

更简单的方法(始终有效)是从本地计算机上的新窗口执行 scp

scp (remote computer):path/to/remote/file (location on my local computer)

remote computer与您通常 ssh 到的地址相同。

例如,如果该文件位于远程计算机上remotecomputer.com,位于您的主目录的子目录中,important并且该文件被称为test.txt,您可以在本地计算机上发出此命令将其复制到本地计算机上的当前目录;

scp remotecomputer.com:important/test.txt .
于 2013-05-19T21:16:42.960 回答
2

使用 pem 文件(pem 文件需要位于根目录下)

$ scp -i <pem.pem> <file_on_local> <user>@<remotehost>:/path/to/file

有凭据

$ scp <file_on_local> <user>@<remotehost>:/path/to/file
于 2016-04-29T11:17:25.303 回答
1

手册页man scp...

scp file_on_local user@host.name:/path/to/file

如果你添加一个-r,它可以做一个完整的目录。

于 2013-05-19T21:18:28.800 回答