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

如何免重复登录并行从Compute Canada HPC多目录下载文件?

解决HPC集群免登录并行下载问题

一、实现免重复登录(SSH密钥认证+连接复用)

1. 生成SSH密钥对

在Windows命令提示符或Git Bash中执行:

ssh-keygen -t ed25519

一路按回车(无需设置密码,否则仍需输入),会在C:\Users\<你的用户名>\.ssh\目录下生成id_ed25519(私钥)和id_ed25519.pub(公钥)。

2. 上传公钥到HPC集群

执行以下命令将公钥传到集群:

scp C:\Users\<你的用户名>\.ssh\id_ed25519.pub s1234567@gc-prd-hpclogin1.rcs.griffith.edu.au:~/.ssh/

登录集群后,将公钥追加到授权文件并修改权限(仅需执行一次):

ssh s1234567@gc-prd-hpclogin1.rcs.griffith.edu.au
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
exit

此后使用scp/rsync连接集群无需再输入密码。

3. 开启SSH连接复用(优化连接效率)

在C:\Users\<你的用户名>\.ssh\目录下新建无后缀的config文件,写入以下内容:

Host gc-prd-hpclogin1.rcs.griffith.edu.au
  User s1234567
  ControlMaster auto
  ControlPath ~/.ssh/sockets/%r@%h-%p
  ControlPersist 1h

该配置会让后续SSH连接复用已建立的会话,彻底消除重复登录的开销。

二、并行批量下载方案

方案1:rsync + GNU Parallel(推荐)

rsync比scp更适合批量文件传输,支持递归目录,配合GNU Parallel可实现多任务并行下载。

  1. 准备下载列表:新建download_list.txt文件,每行格式为远程路径 本地路径,示例:
/scratch/dir1/ D:\local\dir1\
/scratch/dir2/ D:\local\dir2\
/scratch/data/*.txt D:\local\text_files\
  1. 使用GNU Parallel:Windows下Git Bash默认自带该工具,直接在Git Bash中运行:
parallel -j 4 rsync -avz --progress s1234567@gc-prd-hpclogin1.rcs.griffith.edu.au:{1} {2} :::: download_list.txt
  • -j 4:同时运行4个并行任务,可根据网络带宽和集群负载调整(建议不超过8);
  • -avz:归档模式(保留权限、递归传输)、显示详细信息、压缩传输;
  • --progress:实时显示下载进度。

方案2:pscp(PuTTY工具集)批量并行

若习惯使用PuTTY工具,pscp支持批量传输,结合密钥实现免登录:

  1. 准备远程路径列表:新建remote_paths.txt,每行一个远程文件/目录:
/scratch/dir1/
/scratch/file1.txt
/scratch/dir2/subdir/
  1. 编写并行下载脚本:创建parallel_download.bat脚本,内容如下(每个任务用start开启独立窗口):
@echo off
start pscp -i C:\Users\<你的用户名>\.ssh\id_ed25519 -r -batch s1234567@gc-prd-hpclogin1.rcs.griffith.edu.au:/scratch/dir1/ D:\local\dir1\
start pscp -i C:\Users\<你的用户名>\.ssh\id_ed25519 -r -batch s1234567@gc-prd-hpclogin1.rcs.griffith.edu.au:/scratch/dir2/ D:\local\dir2\
start pscp -i C:\Users\<你的用户名>\.ssh\id_ed25519 -batch s1234567@gc-prd-hpclogin1.rcs.griffith.edu.au:/scratch/file1.txt D:\local\

双击运行脚本即可同时启动多个下载任务。

方案3:WSL(Windows子系统Linux)

若Windows版本支持WSL,直接在WSL中配置SSH密钥和连接复用,使用Linux原生的rsync+Parallel工具,操作逻辑与Linux环境完全一致,体验更顺畅。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 11:13:17