帮酷LOGO
0 0 评论
文章标签:LOC  SSH  files  Local  移动  MACH  mac  MOV  

问题:

在本地 Ubuntu,我想复制/移动文件从远程Ubuntu到本地的一个,容易和快速的文件。

我需要在SSH会话 (。例如,来自远程 Ubuntu ) 中做

什么不工作:


scp [remote-source] [local-destination] # Which is actually:


scp/home/user/files_to_depart/file1.txt/home/user/files_that_arrived/file1.txt



我的问题:

你知道有什么方法可以?


回答 1:

nullmeta的答案完全有效,也许nullmeta会编辑以提供你正在寻找的澄清。 我将一个单独的解决方案发布,以考虑因为网络结构(。NAT防火墙) 简单地回到本地系统。

假设你有两台电脑ComputerA和 ComputerB。 ComputerA是你的本地工作站。 ComputerB是一个远程机器,你可以通过ssh访问。

方案 1: 如果 ComputerA 不在NAT防火墙 ,则为

这是一个 Swift 和简单解决方案,结合scp和 ssh ( scp使用ssh协议执行安全复制)。 它要求在两端都安装一个ssh服务器( 和客户)。

若要使用这里解决方案,请从ComputerB运行:


scp/path/to/file/on/ComputerB ComputerAUser@ComputerA:/path/to/dump/file/on/ComputerA



方案 2: 如果 ComputerA 是在NAT防火墙之后

在这种情况下,通常需要在NAT防火墙中配置端口转发。 但是,你可能并不总是具有进行这些更改的权限。 在这种情况下,你可以从 ComputerA -> ComputerB配置ssh隧道,这样它就可以将反向连接。

在建立ssh连接 ComputerA -> ComputerB时,采用以下方式使用 R 选项。 ssh ComputerBUser@ComputerB -R 2222:localhost:22 其中 ComputerBUser 是ComputerB上的帐户的用户名,2222 是ComputerB的一个免费端口。 我们将使用这个端口从ComputerB反向隧道到 ComputerA。

现在从 ComputerB 收费,可以按照以下方式发出scp命令从 ComputerB -> ComputerA复制文件- ComputerAUser 是在ComputerA上的用户名:


scp -P 2222/path/to/file/on/ComputerB ComputerAUser@localhost:/path/to/drop/file/on/computerA



这里发生了什么似乎我们只是告诉ComputerB将文件发送回自身,因为我们正在传递 localhost 而不是 ComputerA。 我们确实告诉scp将文件传递回 ComputerB,但是要将它的传输到 2222. ComputerB上端口 2222的所有连接都被转发到ComputerA上的端口 22 ( 默认ssh端口)。 因这里,通过对现有ssh连接进行向后挖掘,ComputerA并不重要。

方案 3: 从 ComputerA 执行文件复制

或者,你可以从ComputerA运行scp命令,而不是尝试从ComputerB执行这里操作。


scp ComputerBUser@ComputerB:/path/to/file/on/ComputerB/path/to/dump/file/on/ComputerA




回答 2:

如果你需要一种简单的方式来浏览远程机器的文件系统并将某些文件复制到本地计算机,你可以使用

描述

  • 来自 man sshfs:

    免费计算机上的( 安全 shell 文件系统 ) 是一个文件系统,可以在远程计算机上使用安全的登录来操作远程计算机上的文件。 在安装SSHFS的本地计算机上,实现将使用 FUSE ( 用户空间中的文件系统 ) 内核 MODULE。 实际的效果是,最终用户可以与远程文件通过SSH进行无缝交互,就像它们的本地文件一样。 在远程计算机上使用SSH的SFTP子系统。

  • 来自 apt show sshfs:

    sshfs 是基于SSH文件传输协议的文件系统 客户端。 由于大多数SSH服务器已经支持这里协议,所以很容易设置: 服务器端的换句话说,没有什么可以做的。 在客户端安装 文件系统 就像使用ssh登录到服务器一样简单。

安装


sudo apt install sshfs



我跟这个指南不同,我在 Ubuntu 16.04上还没有做其他的事情。 没有 fuse 用户组。

用法

  • 创建适当的挂载目录,例如:

    
    mkdir ~/sshfs-mount-point
    
    
    
    
  • 挂载远程路径:

    • 在使用默认ssh设置时,挂载远程路径:

      
      sshfs user@IP:/remote/path ~/sshfs-mount-point
      
      
      
      
    • 在使用自定义ssh设置时,挂载远程路径:

      
      sshfs -o IdentityFile=/path/to/id_rsa,port=2222 user@hostname-or-IP:/remote/path ~/sshfs-mount-point
      
      
      
      
    • 安装了远程路径,当你已经正确配置 ~/.ssh/config file: 时

      
      sshfs hostname:/remote/path ~/sshfs-mount-point
      
      
      
      
  • 卸载远程路径。 有两种方法:

    • fusermount -u ~/sshfs-mount-point

    • sudo umount ~/sshfs-mount-point

  • 根据 使用

    • 在 ssh connected ssh ssh ssh machine machine machine machine establish establish establish establish establish英镑建立ssh连接英镑 establish。 你可以使用上面的一种方法从英镑英镑mount一个文件夹mount英镑。 然后使用 cprsync 或者mc 复制文件。

    • 在从机器 SSH SSH machine计算机B establish establish establish establish establish建立一个SSH连接英镑。 你可以将专用文件夹创建为 B,并将你的文件复制到该文件夹中。 将这里文件夹装入并将这些文件移动到需要的位置。 你可以设置 cronjob 或者 bash脚本来处理这里任务。


回答 3:

如果不在SSH会话中,你将希望使用


scp user@remotehost:/file/to/copy/local/destination



如果本地计算机运行sshd且端口打开,则在ssh会话中,你可以


scp/remote/file user@localmachine:/destination/file



这里链接有一些解决方法 https://unix.stackexchange.com/questions/2857/ssh-easily-copy-file-to-local-system

我想为你提供一个简单的,最有效的方法,并运行第一个scp命令。


回答 4:

若要通过网络将文件从计算机移到计算机,请使用 scp 实用工具( scp 代表安全副本)。 ssh 仅用于远程登录访问。

你已经成功地登录到网络上的其他计算机,你可以简单地将文件复制到本地计算机,但是你需要在本地机器上运行一个运行 ssh 守护进程。 所以,先安装它:


$ sudo apt-get install openssh-server -y



确保它已经启动并正在运行( 绿色的光显示它是):


$ systemctl status sshd



enter image description here

将要复制到远程计算机上的所有文件放在单独的目录中的本地计算机上。 然后,使用以下命令:


$ scp -r [DIRECTORY] [USER]@[IP_ADDRESS]:~/Downloads



-r 意味着目录及其所有内容都将被递归处理。 这意味着,这意味着每次要复制包含文件的目录时都要使用该选项。 [DIRECTORY] 是该目录的路径。 [USER] 是本地计算机上的用户。 [IP_ADDRESS] 是该机器的IP地址。 : 之后的内容是你希望将文件保存在本地机器上的地方。 在本例中,它是 Downloads 文件夹。

这就是这个过程在现实中的样子:

enter image description here




文章标签:文件  files  mac  LOC  MACH  Local  MOV  cop  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语