PS:这些说明是在 Windows 10 Linux 子系统中打开的 Bash shell 的上下文中,并没有提到在 Windows 中生成的 SSH 密钥与 Windows 上的 Ubuntu 上的 Bash 进行符号链接
1) 通过在其中添加以下内容来更新您的 .bashrc
# Set up ssh-agent
SSH_ENV="$HOME/.ssh/environment"
function start_agent {
echo "Initializing new SSH agent..."
touch $SSH_ENV
chmod 600 "${SSH_ENV}"
/usr/bin/ssh-agent | sed 's/^echo/#echo/' >> "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
/usr/bin/ssh-add
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
kill -0 $SSH_AGENT_PID 2>/dev/null || {
start_agent
}
else
start_agent
fi
2) 然后运行$ source ~/.bashrc 重新加载您的配置。
以上步骤取自https://github.com/abergs/ubuntuonwindows#2-start-an-bash-ssh-agent-on-launch
3) 创建一个 SSH 配置文件(如果不存在)。使用以下命令创建一个新的:.ssh$ touch config
4) 关注~/.ssh/config
Host github.com-<YOUR_GITHUB_USERNAME>
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_work_gmail # path to your private key
AddKeysToAgent yes
Host csexperimental.abc.com
IdentityFile ~/.ssh/id_work_gmail # path to your private key
AddKeysToAgent yes
<More hosts and github configs can be added in similar manner mentioned above>
5) 使用命令$ ssh-add ~/.ssh/id_work_gmail 将您的密钥添加到 SSH 代理,然后您应该能够使用 ssh 连接到您的 github 帐户或远程主机。例如在上述代码示例的上下文中:
$ ssh github.com-<YOUR_GITHUB_USERNAME>
或
$ ssh <USER>@csexperimental.abc.com
向 SSH 代理添加密钥应该只需要执行一次。
6) 现在退出 Windows Linux 子系统上的 Bash 会话,即再次退出所有 Bash 控制台并再次启动新控制台并尝试 SSH 到您的 Github 主机或 SSH 配置文件中配置的其他主机,它应该可以在没有需要任何额外的步骤。
注意:
谢谢。