如何使用scp将文件夹从远程复制到本地主机?
我使用ssh登录我的服务器。然后,我想把远程文件夹foo复制到本地/home/user/Desktop。
如何做到这一点?
操作的问题是,当ssh连接到远程主机时,是否可以将文件从远程主机复制到本地主机。我不知道为什么没有一个答案能正确回答他/她的问题。
请参阅meta.stackoverflow.com/questions/294217/…。问题还在这里,你也可以投票。它只是不允许有更多的答案。
这个问题的前提是不正确的。其思想是,一旦登录到ssh,如何将文件从登录的机器移回登录的客户机。但是,SCP不知道也不能使用ssh连接。它正在建立自己的联系。因此,简单的解决方案是在本地工作站上创建一个新的终端窗口,并运行SCP,将文件从远程服务器传输到本地计算机。例如,scp-i key user@remote:/remote dir/remote file/local dir/local file
这个问题可能是个话题外的话题,但它也是谷歌排名最高的帖子。锁定意味着没有人可以更新它来提供更好的解决方案。
使用mc:TAB、cd sh://USER@HOST,使用mc快捷键,完成后cd退出。
我最近问了一个类似的"稍微深入"的问题,关于另一个超级用户工具的命令行,它被那里的mods移动到stackoverflow。不管怎样,我同意mods的观点:我们能把它转移到超级用户,请把它解锁,并有更多的答案进来吗?
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/
来自man scp(见在线手册)
-r Recursively copy entire directories
我每次都用谷歌搜索这个。相关漫画:xkcd.com/1168
@gryphius使用时,我继续收到一个拒绝权限(publickey)错误。我如何解决这个问题?
@John-K,许多可能的原因(服务器上未启用SCP、公钥未授权、文件权限问题…)。首先检查标准ssh是否与您的密钥一起工作。请参考SOF/ServerFault上关于该主题的现有问题,如果没有帮助,请使用ssh/scp的调试输出在ServerFault上询问新问题。
您必须在两台计算机上都设置RSA密钥-您可能还必须在本地计算机上运行ssh-add。
我发现了两个很好的消息:-C标志增加了压缩,-C标志允许您传入其他密码类型以获得更好的性能,如dimuthu答案中所示的scp -c blowfish a@b:something .。</