Windows 不能靠边停车

Windows 不能靠边停车,windows,git,ssh,bitbucket,Windows,Git,Ssh,Bitbucket,我有一个Bitbucket回购协议,我可以从中推拉HTTPS。 现在,我正在尝试将HTTPS更改为SSH 我在本地创建了一个SSH密钥对,并将公钥添加到Bitbucket中 我已按以下方式设置遥控器: git remote set-url origin git@my-repo.com:7999/my-project.git 然后,当我执行git pull时,我三次询问我的密码,然后我被拒绝许可: Password: Password: Password: Permission denied (

我有一个Bitbucket回购协议,我可以从中推拉HTTPS。 现在,我正在尝试将HTTPS更改为SSH

我在本地创建了一个SSH密钥对,并将公钥添加到Bitbucket中

我已按以下方式设置遥控器:

git remote set-url origin git@my-repo.com:7999/my-project.git
然后,当我执行git pull时,我三次询问我的密码,然后我被拒绝许可:

Password:
Password:
Password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
我有两个问题:

1.如果我在使用SSH,为什么会要求我输入密码?而我在创建SSH密钥时没有设置密码


2.为什么我不能连接到服务器?

此URL通过路径为7999的标准端口22解析为SSH。端口22上的SSH服务器很可能未授权您的git公钥

请注意,没有空间容纳端口

完整的SSH语法如下所示

ssh://[user@]host.xz[:port]/path/to/repo.git/
这将允许您连接到正确的SSH端口

我通常更喜欢在my.ssh/config中添加一个条目,指定服务器详细信息:

Host git
HostName git.example.net
User git
Port 7999
PasswordAuthentication no
然后我可以使用git的简短语法:path/to/repo.git/

检查您的公钥的权限。你是第一次开玩笑吗 时间,则您的密钥需要具有某些特权

您已经找到了在windows中保存的密钥文件

设置、查看、更改或删除文件和文件夹的权限

右键单击要为其设置权限的文件或文件夹,单击“属性”,然后单击“安全”选项卡。 单击“编辑”打开“权限”对话框。 执行以下操作之一: 要为未显示在“组或用户名”框中的组或用户设置权限,请单击“添加”。键入要为其设置权限的组或用户的名称,然后单击“确定”

要更改或删除现有组或用户的权限,请单击该组或用户的名称

执行以下操作之一: -要允许或拒绝权限,请在“权限”框中,选中“允许或拒绝”复选框

要从“组或用户名”框中删除组或用户,请单击“删除”。 有关更多信息,您可以查看此链接以设置权限:


您尚未将私钥添加到ssh.agent.exe

你还没有告诉我们你的环境

这就是我每天使用ssh密钥的方式

为我的ssh add所在的位置设置别名。这只会让一切变得美好

Set-Alias ssh-add "C:\Program Files\Git\usr\bin\ssh-add.exe"
启动SSH代理-哪些服务器提供SSH密钥

Start-SshAgent  -Quiet
将私钥添加到会话中

ssh-add C:\Users\username\.ssh\privateKey
就这些


我在windows上的powershell$profile中运行了这三个命令。

您需要告诉ssh使用您的私钥作为标识。不确定这在Windows上是如何工作的;在Linux上,可以使用ssh代理或编辑ssh配置文件来设置IdentityFile值。看到7999应该是端口号还是路径了吗?@mustaccio我确实试过这个问题的答案,但我得到了相同的答案error@JoshLee7999是一个端口号我确实使用主机名my key向.ssh/config添加了一个条目,但我得到了ssh:无法解析主机名my key:名称或服务不知道您的主机名my-repo.com或我的密钥?抱歉,主机是我的密钥,主机名是my-repo.From Git Bash:/c/Program\Files/Git/usr/bin/ssh-add.exe/c/Users/my user/.ssh/id\u rsa。为此,我得到:无法打开到您的身份验证代理的连接。请使用:eval ssh agent.exe`检查ssh代理是否在git bash中运行,如果它正在运行,它将打印出如下内容:如果它正在运行,则代理pid 8772,然后可以添加ssh密钥:ssh add c:/path\u to\u key/.ssh/id\u rsa您确定您的ssh密钥位于/c/Users/my user/.ssh/id\u rsa吗?我有过将密钥保存到/c/Users/my user/的经验,所以可能密钥实际上不在.ssh文件夹中?
ssh-add C:\Users\username\.ssh\privateKey