From hpc
Connect to the Yale SOM HPC cluster (hpc.som.yale.edu) over SSH with keys, agents, jump hosts, and tunnels — no copied private keys. TRIGGER when SSHing to the Yale SOM HPC cluster, setting up VS Code/Jupyter tunnels to a cluster compute node, forwarding ports through the cluster login node, or troubleshooting cluster SSH/agent auth.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hpc:connecting-securelyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Rule: use SSH keys and agent forwarding; never copy private keys onto the cluster.
Rule: use SSH keys and agent forwarding; never copy private keys onto the cluster.
Bad:
scp ~/.ssh/id_ed25519 hpc:~/.ssh/
Good:
ssh-add -l
ssh hpc
If you need GitHub from the cluster, use gh auth login or carefully scoped SSH agent forwarding. Do not store your laptop private key on GPFS. If gh is not installed, see installing software.
Example ~/.ssh/config on your laptop:
Host hpc
HostName hpc.som.yale.edu
User yournetid
Host b??? c???
User yournetid
ProxyJump hpc
HostName %h.cm.cluster
Enable ForwardAgent yes only if you need it for Git or another SSH hop. Agent forwarding is convenient, but any process you run on the remote host can ask your agent to sign while the connection is active.
Now login works:
ssh hpc
Only connect to a compute node after Slurm has allocated it to you. Use the hostname printed inside your allocation, then tunnel to that node.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/config
chmod 600 ~/.ssh/authorized_keys 2>/dev/null || true
chmod 700 ~
This is a shared system. Keep private files private: do not make your home directory, .ssh, .env, tokens, or project credentials group/world-readable.
ssh-add -l
ssh -T [email protected]
Inside tmux, SSH agent sockets can go stale. If GitHub auth worked yesterday and fails today, restart the shell or refresh SSH_AUTH_SOCK from the current login session.
Preferred, after installing gh if needed:
gh auth login
Alternative with explicitly enabled forwarded SSH agent:
ssh -T [email protected]
git clone [email protected]:owner/repo.git
On the cluster, allocate a small node and start Jupyter. Use the smallest allocation that fits your data, with an explicit short time limit — a tunneled Jupyter session is still an interactive job and holds those resources until you scancel it or the time limit hits.
srun --partition=cpunormal --cpus-per-task=2 --mem=8G --time=02:00:00 --pty bash
node=$(hostname)
echo "$node"
jupyter notebook --no-browser --port=8888 --ip=127.0.0.1
On your laptop, tunnel to the allocated node. Replace c018 with the hostname printed by hostname:
ssh -NL 9999:localhost:8888 c018
Open http://localhost:9999. When you are done, exit the notebook and the srun shell. Do not leave a Jupyter session running overnight.
Connect to hpc for editing. Connect to a compute node only after you have an active Slurm allocation on that node — never run heavy editor extensions or notebook kernels against the login node, which is shared by everyone.
You must be on a Yale network path to reach the cluster (Yale VPN/AnyConnect or campus network). Fix network access before debugging SSH keys.
ssh hpc works.gh, not copied keys.ssh_config(5) — every ~/.ssh/config keyword (ProxyJump, ControlMaster, ForwardAgent, etc.).ssh-agent(1) — agent lifecycle, SSH_AUTH_SOCK, agent forwarding.gh auth login flow on a remote host.Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub yale-som-hpc/claude-code-marketplace --plugin hpc