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