Windows: Как расшарить ключи между хостом и контейнерами wsl2
Самые простые способы копировать свои ключи в контейнер не буду описывать. Там просто копирование туда-сюда и смена прав доступа чтобы не ругался модуль.
Монтирование папки с ключами
Для этого добавляем запись в fstab с папкой. Она монтируется при помощи drvfs.
C:\Users\<your Windows username>\.ssh\ /home/<your Linux username>/.ssh drvfs rw,noatime,uid=1000,gid=1000,case=off,umask=0077,fmask=0177 0 0
Запуск ssh-agent и добавление ключей осуществляется руками\systemctl\bashrc.
Использование ssh-agent из хост-системы в контейнере
Для этого пользуемся wsl2-ssh-agent.
Автор описывает это как клиент-сервер, который перенаправляет запросы на ssh-agent из хост-системы.
mkdir -p ~/bin- Загрузить
# Для x86-64
curl -L -O https://github.com/mame/wsl2-ssh-agent/releases/latest/download/wsl2-ssh-agent
# Или для ARM64
curl -L -O https://github.com/mame/wsl2-ssh-agent/releases/latest/download/wsl2-ssh-agent-arm64
- Добавить юнит для systemd
~/.config/systemd/user/wsl2-ssh-agent.service(я предпочитаю править исходный конфиг потому что бинарник лежит в хомяке, а не в обшем/bin).
[Unit]
Description=WSL2 SSH Agent Bridge
After=network.target
ConditionUser=!root
[Service]
ExecStart=%h/wsl2-ssh-agent --verbose --foreground --socket=%t/wsl2-ssh-agent.sock
Restart=on-failure
[Install]
WantedBy=default.target
systemctl --user enable --now wsl2-ssh-agent- Добавить путь к сокету в .bashrc:
export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/wsl2-ssh-agent.sock source .bashrcssh -T git@github.com
Категории: HowTo