我这里有一个特殊的问题,可能是客户的问题。但是,我得到了一个服务器错误。所以请读一遍,也许你会同意我的观点,这是一个非常奇怪的问题,希望你能帮我解决这个问题!:)
以下是我的情况:
我在家里安装了Git和Gitolite服务器,使用关键的认证。我的私钥和公钥直到上周才被验证并正常工作。现在,在我的客户端计算机#1上,我不可能从我的Git服务器上推拉任何参考资料。
我用相同的存储库(安装在同一个驱动器上)尝试了相同的密钥,但是用我的笔记本电脑,我的服务器将接受这个密钥.
我试图卸载/重新安装Git,生成其他密钥对,重新检查我的SSH信任,重新启动我的服务器服务,但是没有任何工作。当我在调试模式下检查我的SSH日志时,我几乎没有得到有关错误的任何细节:
Jul 28 06:46:28 git-server sshd[5100]: debug1: Forked child 19124.
Jul 28 06:46:28 git-server sshd[19124]: Set /proc/self/oom_adj to 0
Jul 28 06:46:28 git-server sshd[19124]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
Jul 28 06:46:28 git-server sshd[19124]: debug1: inetd sockets after dupping: 3, 3
Jul 28 06:46:28 git-server sshd[19124]: Connection from xx.xx.xx.xx port 53847
Jul 28 06:46:28 git-server sshd[19124]: debug1: Client protocol version 2.0; client software version PuTTY_Local:_Jun__3_2012_14:48:17
Jul 28 06:46:28 git-server sshd[19124]: debug1: no match: PuTTY_Local:_Jun__3_2012_14:48:17
Jul 28 06:46:28 git-server sshd[19124]: debug1: Enabling compatibility mode for protocol 2.0
Jul 28 06:46:28 git-server sshd[19124]: debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze1
Jul 28 06:46:28 git-server sshd[1002]: debug1: server_input_channel_req: channel 0 request winadj@putty.projects.tartarus.org reply 1
Jul 28 06:46:28 git-server sshd[1002]: debug1: session_by_channel: session 0 channel 0
Jul 28 06:46:28 git-server sshd[1002]: debug1: session_input_channel_req: session 0 req winadj@putty.projects.tartarus.org
Jul 28 06:46:29 git-server sshd[19124]: debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-1024
Jul 28 06:46:29 git-server sshd[19124]: debug1: Checking blacklist file /etc/ssh/blacklist.RSA-1024
Jul 28 06:46:29 git-server sshd[19124]: debug1: temporarily_use_uid: 1001/1001 (e=0/0)
Jul 28 06:46:29 git-server sshd[19124]: debug1: trying public key file /home/gitolite/.ssh/authorized_keys
Jul 28 06:46:29 git-server sshd[19124]: debug1: fd 4 clearing O_NONBLOCK
Jul 28 06:46:29 git-server sshd[19124]: debug1: restore_uid: 0/0
Jul 28 06:46:29 git-server sshd[19124]: debug1: temporarily_use_uid: 1001/1001 (e=0/0)
Jul 28 06:46:29 git-server sshd[19124]: debug1: trying public key file /home/gitolite/.ssh/authorized_keys
Jul 28 06:46:29 git-server sshd[19124]: debug1: fd 4 clearing O_NONBLOCK
Jul 28 06:46:29 git-server sshd[19124]: debug1: restore_uid: 0/0
**Jul 28 06:46:29 git-server sshd[19124]: Failed publickey for gitolite from xx.xx.xx.xx port 53847 ssh2**
Jul 28 06:46:29 git-server sshd[19124]: debug1: do_cleanup现在,我认为我的服务器运行良好,因为我已经在另外两个客户端位置测试了我的Putty密钥,而且一切都很好。也许是我的工作站在发送我的Putty密钥时出了问题。如果是客户端的问题,这里是我的个人电脑规格:
提前谢谢你!
发布于 2014-10-03 20:58:35
过了这么久,问题解决了!
显然,这是注册表的一个Putty问题,它混淆了ToirtoiseGit windows客户端。我很惊讶为什么这个案子在任何地方都没有记录。感谢我的朋友找到了解决方案。
因此,在Windows上,所有会话信息和Putty设置都位于这里
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY通过删除“会话”和“SshHostKeys”文件夹,这些文件夹将自动重新生成,从而解决了问题。但我们不知道为什么。
更深入的研究使我们得出这样的结论:当通过putty界面改变默认设置时,Plink (ToirtoiseGit的putty代理)将坚持Putty的默认设置,而不是专注于“自动加载putty键”设置。
底线是
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Default Settings”变量。我希望这个解决方案也能帮助其他人!)
发布于 2014-02-13 12:35:19
检查公钥的格式是否如下:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA5k6P+EKZ/G8+YT8kpHUmyp2d+4S/1kIAqPQcIt+qjpf9i0v9pwWCJdgYhiwD18pjUL2tM0D6zofKF3mQJdJbW22yAqBQ/YmswEHcH+1/QxHxaYHvXxaqakgvFcWW3DZ/ShsgWfJyhw7naKMWKcgAJJHPJfmAHtEWPLDhBAzpEQc=并检查它是否是已知的主机。
发布于 2012-09-19 04:17:46
我在Windows上也遇到了类似的问题,我在这里更改了用于身份验证到各种服务器的密钥。但在我保存的一些会话中,它仍然有一个通向原始密钥文件的路径,这个路径已不再有效。
解决方案是在保存的会话中搜索并删除违规的密钥文件--我认为它在连接/SSH/Auth下。
https://stackoverflow.com/questions/11704914
复制相似问题