- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 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/
我是一名优秀的程序员,十分优秀!