You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSH会话内便捷获取远程服务器文件的方法咨询

SSH会话内便捷获取远程服务器文件的方法咨询

当然有办法解决这个麻烦!我之前也经常遇到要切终端输SFTP命令的困扰,下面几个实用方法可以让你在SSH会话里直接搞定文件下载:

  • 使用Zmodem工具(最便捷的交互式方法)
    很多终端工具(比如Xshell、SecureCRT)和主流Linux发行版都支持Zmodem协议,只需要在远程服务器上安装lrzsz包:Debian/Ubuntu系统用sudo apt install lrzsz,CentOS/RHEL系统用sudo yum install lrzsz。安装完成后,在SSH会话里直接运行sz /path/to/your/file,本地终端会自动弹出文件保存对话框,确认后就能把文件拉到本地,完全不用切终端!

  • 用SSH管道直接传输
    如果不想装额外工具,可以在远程SSH会话里执行类似这样的命令,把文件通过SSH管道传到本地:

    cat /path/to/your/file | ssh your_local_username@your_local_ip "cat > /local/path/to/save/file"
    

    这里需要注意本地机器要能被远程服务器访问(或者提前在本地开反向SSH隧道),如果没配SSH密钥的话,还需要输入本地机器的登录密码。

  • 自定义别名简化操作
    如果你经常有这个需求,可以在远程服务器的~/.bashrc或~/.zshrc里加一个自定义别名,比如:

    alias getfile='function _getfile() { cat "$1" | ssh your_local_user@your_local_ip "cat > ~/downloads/$(basename $1)"; }; _getfile'
    

    保存后执行source ~/.bashrc生效,之后在SSH会话里直接输getfile /path/to/file,就能自动把文件传到本地的~/downloads目录下。要是提前配好本地和远程的SSH密钥免密登录,连密码都不用输。

另外补充下,如果你用的是iTerm2这类现代终端,只要在本地装lrzsz并配置好终端触发脚本,也能和远程的sz命令完美配合,体验非常流畅。

备注:内容来源于stack exchange,提问作者Hiccup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 10:39:07