wsl-ssh-agent: WSL環境でwindowsアプリからssh-agentと連携する

https://github.com/rupor-github/wsl-ssh-agent

古い Memo/Windows/10/WSL/ssh-agent-wsl と比べて


インストール共通部分

  1. Windows側でssh-agentのサービスを起動する。PowerShellを管理者権限で実行
    Set-Service -Name ssh-agent -StartupType Automatic
    Start-Service -Name ssh-agent
    Get-Service -Name ssh-agent
    
    Status   Name               DisplayName
    ------   ----               -----------
    Running  ssh-agent          OpenSSH Authentication Agent
  2. releases からwsl-ssh-agent.7z をダウンロードして、windows側のドライブに展開
    • 例: C:\local\wsl-ssh-agent
  1. WSL1/2の手順へ
  2. WSLのterminalを開き直すか、shellを再起動
    exec $SHELL -l
  3. Windows側(PowerShell)で秘密鍵を登録してみる。
    # $HOME/.ssh/id_rsa が登録される
    ssh-add
    # 秘密鍵が登録されたか確認
    ssh-add -l
  4. WSL側で、秘密鍵が登録されているか確認
    ssh-add -l

WSL2の場合

  1. Ubuntuの場合、socatをインストール
    sudo apt update
    sudo apt -y install socat
  2. WSL上のLinuxに追加。Memo/Linux/Bash#a4d5a585 が設定済みであること。
    vim ~/.bash.d/wsl-ssh-agent.sh
    --
    export SSH_AUTH_SOCK=$HOME/.ssh/agent.sock
    ss -a | grep -q $SSH_AUTH_SOCK
    if [ $? -ne 0 ]; then
        rm -f $SSH_AUTH_SOCK
        ( setsid socat UNIX-LISTEN:$SSH_AUTH_SOCK,fork EXEC:"/mnt/c/local/wsl-ssh-agent/npiperelay.exe -ei -s //./pipe/openssh-ssh-agent",nofork & ) >/dev/null 2>&1
    fi
    --
    chmod +x ~/.bash.d/wsl-ssh-agent.sh

WSL1の場合

  1. Windows: で実行。タスクトレイに常駐する。自動起動したい場合は、スタートアップにショットカット(パラメータ付き)で登録する
    wsl-ssh-agent-gui.exe -socket c:\local\wsl-ssh-agent\ssh-agent.sock
  2. WSL上のLinuxに追加。Memo/Linux/Bash#a4d5a585 が設定済みであること。
echo 'export SSH_AUTH_SOCK=/mnt/c/local/wsl-ssh-agent/ssh-agent.sock' >> ~/.bash.d/wsl-ssh-agent.sh
chmod +x ~/.bash.d/wsl-ssh-agent.sh

アプリの対応


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-09-05 (火) 12:50:31