Windows/Linux Ubuntu子系统Github SSH安装程序

Windows/Linux Ubuntu子系统Github SSH安装程序,windows,bash,github,ssh-keys,windows-subsystem-for-linux,Windows,Bash,Github,Ssh Keys,Windows Subsystem For Linux,好吧,我在网上读了很多帖子,没有一篇是非常明确的,或者至少对我这样的技术水平的人来说。我在windows上设置了Ubuntu子系统,我正在尝试设置我的github密钥,这样我就不必每次推送都登录 如果你有简单的步骤,请随意忽略下面的其余部分,只是想确保我提供的信息与我在下面尝试的内容一样多 我尝试过这种方法,但仍然无法使其发挥作用 - 以下是我采取的全部步骤 1)我运行了$ssh-keygen-t rsa-b4096-C“my@email.com“ 在提示下按enter键将键添加到默认位置希望

好吧,我在网上读了很多帖子,没有一篇是非常明确的,或者至少对我这样的技术水平的人来说。我在windows上设置了Ubuntu子系统,我正在尝试设置我的github密钥,这样我就不必每次推送都登录

如果你有简单的步骤,请随意忽略下面的其余部分,只是想确保我提供的信息与我在下面尝试的内容一样多


我尝试过这种方法,但仍然无法使其发挥作用 -

以下是我采取的全部步骤

1)我运行了
$ssh-keygen-t rsa-b4096-C“my@email.com“

在提示下按enter键将键添加到默认位置希望是
/.ssh
(在linux端) 在位于此处的windows上:
C:\Users\MyUserName\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows\u 79rhkp1fndgsc\LocalState\rootfs\home\MyUserName\.ssh

/.ssh
   id_rsa
   id_rsa.pub
/.ssh中此步骤之后添加的文件

/.ssh
   id_rsa
   id_rsa.pub
2)接下来,我用nano修改了.bashrc

$ nano ~/.bashrc
这打开了
C:\Users\MyUserName\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows\u 79rhkp1fndgsc\LocalState\rootfs\home\MyUserName\.bashrc

我在现有的.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
3)我运行了
source~/.bashrc

4)创建了配置文件
$touch~/.ssh/config

5)在配置中,这里是我所拥有的以及我认为可能出错的地方

这是上面引用的原始帖子的片段

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>
6)然后我通过运行
$ssh add~/.ssh/id\u rsa向代理添加了密钥

我运行了
$ssh github.com MyGithubUsername
,检查一切是否正常,然后返回

The authenticity of host 'github.com (192.XX.XXX.XXX)' can't be established.
RSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no)?
我输入了
,然后回来了

Warning: Permanently added 'github.com,192.XX.XXX.XXX' (RSA) to the list of known hosts.
PTY allocation request failed on channel 0
Hi MyUserName! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

在此之后尝试推送提交,但仍要求我登录


我也遇到过,并尽了我最大的努力,但也没有成功,所以我从零开始尝试上面的方法


非常感谢您提供的任何帮助://p>如果您使用的是SSH URL,则步骤可以:

cd /path/to/my/repo
git remote -v
如果以https开头:

git remote set-url origin github.com-MyGithubUsername:<mylogin>/<myrepo>
git远程设置url来源github.com-MyGithubUsername:/

请注意,仅当您在设置私钥时添加了密码短语时,才需要SSH代理。

如果您使用的是SSH URL,则步骤可以:

cd /path/to/my/repo
git remote -v
如果以https开头:

git remote set-url origin github.com-MyGithubUsername:<mylogin>/<myrepo>
git远程设置url来源github.com-MyGithubUsername:/

请注意,只有在设置私钥时添加了密码短语时,才需要SSH代理。

听起来好像代理停止运行了。在推之前,ssh add-l是否显示您的密钥?是的,它显示。。。smh我将远程服务器改为使用ssh而不是http,这很有效。在尝试了这么多东西的迷雾中,我的雷达发现了一个,呃,哼,哈哈。。现在从零开始,确定哪些步骤是需要的,哪些步骤不是。。从你看到的上面的台阶。。任何我可以省略或不需要做的事情,或者有更好的方法,或者我应该坚持使用这种方法吗?是的,远程不能是http:)步骤似乎很好。听起来代理停止运行了。在推之前,ssh add-l是否显示您的密钥?是的,它显示。。。smh我将远程服务器改为使用ssh而不是http,这很有效。在尝试了这么多东西的迷雾中,我的雷达发现了一个,呃,哼,哈哈。。现在从零开始,确定哪些步骤是需要的,哪些步骤不是。。从你看到的上面的台阶。。任何我可以省略或不需要做的事情,或者有更好的方法,或者我应该坚持使用这种方法吗?是的,远程设备不能是http:)步骤看起来很好。