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

PyCharm因rsync需二次双因素验证,卡在SSH服务器自检环节

解决PyCharm远程解释器rsync二次双因素验证无交互问题

问题背景

使用要求双因素登录的集群时,在PyCharm中创建远程Python解释器,首次SSH连接可通过Duo完成验证,但测试rsync连接时再次触发双因素验证,而PyCharm未提供交互输入途径,导致无法完成配置。相关报错信息如下:

Successfully connected to rschaef@login.sherlock.stanford.edu:22

pwd
Failed to execute command

Checking rsync connection...
/usr/bin/rsync -n -e "ssh -p 22 " rschaef@login.sherlock.stanford.edu:

rschaef@login.sherlock.stanford.edu's password:

(rschaef@login.sherlock.stanford.edu) Duo two-factor login for rschaef

Enter a passcode or select one of the following options:

  1. Duo Push to XXX-XXX-3013

  2. Phone call to XXX-XXX-3013

  3. SMS passcodes to XXX-XXX-3013

Passcode or option (1-3):

解决方案

方案1:配置SSH控制套接字复用连接

通过SSH的ControlMaster特性让rsync复用已通过验证的SSH会话,避免二次验证:

  1. 创建SSH控制套接字存储目录:
    mkdir -p ~/.ssh/sockets
    
  2. 编辑~/.ssh/config文件,添加目标主机的配置:
    Host login.sherlock.stanford.edu
      HostName login.sherlock.stanford.edu
      User rschaef
      ControlMaster auto
      ControlPath ~/.ssh/sockets/%r@%h-%p
      ControlPersist 10m
    
    • ControlMaster auto:自动创建控制套接字
    • ControlPath:指定套接字存储路径
    • ControlPersist 10m:保持连接10分钟,足够完成PyCharm的配置流程
  3. 手动通过SSH连接集群一次,完成双因素验证:
    ssh rschaef@login.sherlock.stanford.edu
    
  4. 保持该SSH会话打开,回到PyCharm继续配置远程解释器,此时rsync会复用已验证的连接,无需再次验证。

方案2:配置Duo可信会话/设备

如果集群支持,可通过Duo设置减少验证次数:

  • 登录集群的Web管理界面,找到Duo双因素认证设置
  • 将当前设备标记为「可信设备」,或调整会话超时时间(比如设置为1小时)
  • 完成设置后,短时间内的重复连接(包括rsync)不会触发二次验证

方案3:修改PyCharm的rsync命令参数

直接在PyCharm中指定rsync使用已有的SSH控制套接字:

  1. 在PyCharm的远程解释器配置页面,找到「Advanced」或「Rsync settings」选项
  2. 将rsync命令修改为:
    rsync -n -e "ssh -o ControlPath=~/.ssh/sockets/%r@%h-%p" rschaef@login.sherlock.stanford.edu:
    
  3. 确保已提前通过SSH完成一次双因素验证并保持会话,再运行PyCharm的rsync测试。

内容的提问来源于stack exchange,提问作者Rylan Schaeffer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:10:15