gpt4 book ai didi

git - 如何将 git ssh 凭据从 wsl 传递到 VScode dev-container

转载 作者:行者123 更新时间:2023-12-03 07:59:45 26 4
gpt4 key购买 nike

我已经使用 WSL 中的 ssh key 为我的 gitlab 帐户设置了 ssh key 。

现在我想在 VScode 开发容器中使用相同的 ssh git 凭据。

如何将 ssh key 传递到开发容器?

最佳答案

在 Vscode 开发容器中 documentation他们解释了如何使用 SSH 代理将 shh key 传递到容器:

首先找到您系统上的 key 文件。为此,请在 WSL 终端(例如 Ubuntu)ls ~/.ssh/ 中运行以下命令。默认情况下,shh key 文件名以 id_ 开头。查找这样的文件(例如 id_ed25519)。

在终端中运行eval "$(ssh-agent -s)"。然后运行 ​​ssh-add ~/.ssh/id_ed25519(将文件名替换为您的 key 文件)。

顺便说一句,要列出已添加的 key ,请运行ssh-add -l

问题是在 Linux 中 ssh-agent 不会在启动时自动启动。所以我们需要将其添加到 ~/.bash_profile 文件中。

在终端中运行 code ~/.bash_profile 以在 vscode 中打开该文件。然后将以下内容添加到文件中:

if [ -z "$SSH_AUTH_SOCK" ]; then
# Check for a currently running instance of the agent
RUNNING_AGENT="`ps -ax | grep 'ssh-agent -s' | grep -v grep | wc -l | tr -d '[:space:]'`"
if [ "$RUNNING_AGENT" = "0" ]; then
# Launch a new instance of the agent
ssh-agent -s &> $HOME/.ssh/ssh-agent
fi
eval `cat $HOME/.ssh/ssh-agent`
ssh-add ~/.ssh/id_ed25519
fi

请注意末尾的 ssh-add 行。这是因为 Linux 中的 ssh-agent 并不像 Windows 中那样保留 key 。

重新启动计算机或通过运行 wsl --shutdown 重新启动 WSL。这将提示 docker 发出一条消息,要求 Windows 重新启动。打开一个新的 WSL 终端,输入 shh-add -l 以查看 key 是否在那里。

现在在 VScode 开发容器中启动一个项目,并在终端中输入 shh-add -l。应列出与 WSL 中相同的 key 。

关于git - 如何将 git ssh 凭据从 wsl 传递到 VScode dev-container,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74704065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com