Linux用Windowsサブシステム - 共有ssh-agent?

Linux用Windowsサブシステム - 共有ssh-agent?

Windows 10のWSL(Linux用Windowsサブシステム)シェルでUbuntu 16.04を実行しています。ターミナル内で ssh-agent を起動し、ターミナル寿命の間に複数回使用できます。 psとWindows 10タスクマネージャでssh-agentが実行されていることがわかります。

ただし、スタートメニューから2番目のWSL bash端末を実行すると、ssh-agentは認識されません。奇妙なことに、Windowsのコマンドラインから2番目の端末を起動すると機能します。考えられる解決策の1つは、既存のbashウィンドウで新しいbashウィンドウを開くことです。しかし、その方法もわかりません。

この問題を解決する方法はありますか?

ベストアンサー1

.bashrcを変更して、既存の実行中のSSHエージェントを見つけることができます。

私は以下に基づいて何かを使用します。ポイント

# ssh-agent configuration
if [ -z "$(pgrep ssh-agent)" ]; then
    rm -rf /tmp/ssh-*
    eval $(ssh-agent -s) > /dev/null
else
    export SSH_AGENT_PID=$(pgrep ssh-agent)
    export SSH_AUTH_SOCK=$(find /tmp/ssh-* -name agent.*)
fi

# optional... potentially annoying
#if [ "$(ssh-add -l)" == "The agent has no identities." ]; then
#    ssh-add
#fi

おすすめ記事