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

如何在macOS终端通过带用户名和密码的SOCKS5代理连接SFTP服务器

如何在macOS终端通过带用户名和密码的SOCKS5代理连接SFTP服务器

我之前也碰到过一模一样的需求,macOS自带的sftp工具本身没办法直接处理带用户名密码验证的SOCKS5代理,不过用几个免费开源的工具就能轻松搞定,下面给你两种实用的方案:

方案一:使用proxychains-ng(适合批量代理终端工具)

proxychains-ng是一个能让任意终端程序通过代理运行的工具,配置一次后就能方便地复用代理设置。

  1. 安装proxychains-ng
    用Homebrew安装(如果没装Homebrew的话,直接去官网装就行,完全免费):

    brew install proxychains-ng
    
  2. 配置代理信息
    打开它的配置文件:Intel芯片的Mac路径是/usr/local/etc/proxychains.conf,M系列芯片的Mac是/opt/homebrew/etc/proxychains.conf,用文本编辑器编辑:

    # Intel Mac
    nano /usr/local/etc/proxychains.conf
    # M系列Mac
    nano /opt/homebrew/etc/proxychains.conf
    

    找到文件末尾的[ProxyList]部分,删掉原来的内容,替换成你的SOCKS5代理信息(注意默认SOCKS5端口是1080,如果你的代理端口不同,记得修改):

    socks5  somesocks5proxy.somecompany.com 1080 proxyusername proxypassword
    

    保存退出(nano里按Ctrl+O,回车确认,再按Ctrl+X)。

  3. 通过代理连接SFTP
    直接用proxychains4包裹sftp命令运行:

    proxychains4 sftp sftpusername@somesftpserver.mycompany.com
    

    之后输入SFTP服务器的密码sftppassword就可以连接了。

方案二:使用connect工具(单次连接更灵活)

connect是一个轻量的代理连接工具,可以直接通过sftp的ProxyCommand参数指定,不需要提前配置文件。

  1. 安装connect
    同样用Homebrew安装:

    brew install connect
    
  2. 直接连接SFTP
    运行下面的命令,把代理和SFTP的信息都填进去(注意替换代理端口,如果不是1080的话):

    sftp -o "ProxyCommand=connect -S somesocks5proxy.somecompany.com:1080 -U proxyusername -P proxypassword %h %p" sftpusername@somesftpserver.mycompany.com
    

    执行后输入SFTP的密码sftppassword就能建立连接。

注意事项

  • 如果你的SOCKS5代理使用的不是默认的1080端口,一定要把命令里的1080替换成实际的端口号。
  • 两种工具都是完全免费开源的,不用担心付费问题。
  • 如果连接失败,可以先测试一下SOCKS5代理本身是否可用,比如用curl测试:curl --socks5 proxyusername:proxypassword@somesocks5proxy.somecompany.com:1080 https://example.com

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 15:09:52