不能拉过SSH

时间:2017-03-17 14:09:40

标签: windows git ssh bitbucket

我有一个Bitbucket repo,我可以通过它来拉动和推送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.为什么我无法连接到服务器?

3 个答案:

答案 0 :(得分:1)

您已将私钥添加到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

多数人。

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

答案 1 :(得分:0)

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

The syntax is

[user@]host.xz:path/to/repo.git/

请注意,没有端口空间。

完整的SSH语法是

ssh://[user@]host.xz[:port]/path/to/repo.git/

应允许您连接到正确的SSH端口。

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

Host git
HostName git.example.net
User git
Port 7999
PasswordAuthentication no

然后我可以使用git:path/to/repo.git/的简短语法。

答案 2 :(得分:0)

  

检查您的公钥的权限。你是先拉它吗?   时间,那么你的钥匙需要有一定的特权。

您已将密钥文件找到保存在窗口中的位置。

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

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

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

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

  • 要从“组或用户名”框中删除组或用户,请单击“删除”。
  

有关详细信息,请查看此链接以设置权限:   https://msdn.microsoft.com/en-us/library/bb727008.aspx