Hic*_*cup 11 linux ssh file-transfer sftp
get file有没有办法通过简单地在 ssh 会话中运行命令来从通过 ssh 连接到的远程服务器获取文件?有没有一种方法或现有工具可以做到这一点?将路径复制并粘贴到另一个终端中的 sftp 命令中的速度很慢,因此最好有一个像这样的快速方法。
Oma*_*ine 13
如果您可以通过 SSH 连接到原始客户端主机,那么您可以使用该scp命令来复制文件。示例会话可能如下所示。
barry@earth:~$ ssh pi@raspberrypi
pi@raspberrypi:~$ scp secrets.txt barry@earth:secrets.txt
pi@raspberrypi:~$ exit
barry@earth:~$ ls secrets.txt
secrets.txt
barry@earth:~$
Run Code Online (Sandbox Code Playgroud)
当然,当您似乎关心速度和易用性时,您可以使用别名做一些花哨的事情,或者将调用包装成scp令人难忘的东西。
不,没有。SSH 没有像 RDP 那样的“客户端文件系统访问”通道。
\n不过,可能有一些终端内置支持古老的 BBS 文件传输协议,例如 Xmodem/Zmodem(超级终端就是其中之一,但它不是一个很好的终端模拟器;我认为有支持 Xmodem 的 PuTTY 分支) 。在服务器上运行该命令将通过终端sz启动文件传输,终端会识别该文件并询问您将文件保存在哪里。
可能有一个自定义get命令可以连接回客户端计算机(通过另一个 SSH 会话)并将文件从远程系统上传到本地系统,例如通过从 $SSH_CONNECTION 获取您的 IP 地址或使用准备好的“远程转发”-R隧道,但作为通用解决方案并不十分方便。(它适用于特定环境,例如您自己的个人系统,但不适用于通过 SSH 连接到各种随机客户服务器。)
不要忘记sftpLinux 上的客户端支持远程路径的制表符补全。您可能更喜欢lftp,这是另一个 SFTP 客户端,它有一些方便的功能,例如“编辑”命令(自动获取文件,运行本地编辑器,然后将其放回)。
sshfs涉及(SFTP 作为文件系统)的不同工作流程可能是一个解决方案。例如,如果您经常在本地 SFTP 文件只是为了编辑它们并将其放回,则可以通过 sshfs 挂载直接编辑文件来替代。(或者,当然,在本地编辑所有内容并仅通过 Git 部署到服务器......)
您的 Linux 桌面环境可能在图形文件管理器中支持 SFTP,使用sftp://URL,以便您可以直接导航到您需要的文件、为位置添加书签等。(在 GNOME 中,甚至可以在“当前位置”启动交互式 SSH 终端)地点”。)
在个人系统之间,也可以使用 NFS(双向 \xe2\x80\x93 在本地编辑服务器文件,并让服务器将文件复制回客户端)。例如,在我的个人环境中,我已设置自动/n/<hostname>NFS 安装到所有计算机上的主目录,因此我可以将cp foo /n/laptop它显示在我的笔记本电脑的主目录中。(不适用于企业环境,但想想很有趣。)
(后者实际上类似于 RDP 的文件重定向的工作原理 \xe2\x80\x93 如果您通过 RDP 连接到服务器,则可以访问\\\\tsclient\\C返回到客户端 C: 驱动器的特殊网络共享,RDP 上的 Piggy\xc2\xadbacking连接。不幸的是,SSH 中没有这样的东西。)