Recently, I needed to run a process on an HPC cluster that required a secret, but I wanted to avoid storing my private key as a file on the cluster for security reasons. Instead, I looked for a way to decrypt an encrypted secret on the HPC while keeping my private key securely on my local machine. A great solution for this is GPG agent forwarding, which allows a remote machine to use a local GPG agent to decrypt secrets. This worked well when I could log into a single head node, but it broke when my HPC cluster implemented a load balancer that assigned me to a random node each time I logged in. The typical approach -- deleting the existing agent socket and reconnecting -- became unreliable. This post explains the problem in detail, walks through several failed solutions, and ultimately presents the working method I found to maintain secure GPG agent forwarding even when connecting through a randomized load balancer.
Sheffield Lab of Computational Biology
We are a computational biology and bioinformatics research group located in the Department of Genome Sciences at UVA. We are also affiliated with the Departments of Biomedical Engineering and Biochemistry and Molecular Genetics, the Cancer Center, the Child Health Research Center, and the School of Data Science.
Our research is at the interface of computation and biology, drawing on techniques in computer science, data science, bioinformatics, and statistics, and applying them to biological questions in cancer, epigenetics, development, and genomics.
Gene regulation and chromatin structure
The group studies how DNA encodes regulatory networks that enable cellular differentiation, and how these systems break down in disease. We ask fundamental questions about gene regulation, such as how regulatory DNA interacts to drive cellular programs, or how cells develop and respond to stimuli through chromatin remodeling at the single-cell level.
Computational cancer epigenomics
Driven by biological interests in epigenomics and gene regulation, we analyze DNA methylation and chromatin accessibility and how these signals characterize cancers. Cancer is caused by a regulatory process run amok, and we study these regulatory programs in their normal and diseased state.
Single-cell sequencing analysis
Using microfluidics and sequencing technology, we investigate how cells differentiate and respond to their environments at single-cell resolution. We develop computational methods to analyze single-cell RNA-seq, ATAC-seq, and multi-omic data to understand cellular heterogeneity, identify rare cell populations, and map developmental trajectories in normal development and disease.
Scientific computing and large-scale biomedical data management
We develop research infrastructure for scientific computing in genomics, focusing on data interoperability and analysis. The group builds novel models of genomic data and state-of-the-art APIs and systems that help biologists manage and analyze large-scale genomic and multi-omic datasets efficiently.