我的机器上没有任何改动。每次我更改代码时都会运行此命令。
git push thing-staging beta-staging:master
我得到的回应是:
找不到匹配的mac:客户端hmac-md5 ....致命:远程端意外挂断
任何人都有任何关于为什么不再有效或如何找出确切情况的建议?
答案 0 :(得分:1)
您的本地ssh似乎与您要推送的git存储库上使用的ssh服务器不兼容。听起来服务器正在运行较旧版本的ssh服务器,而较新的客户端已经删除了对hmac-md5
算法的默认支持(因为该算法现在被认为是不安全的)。
您可以使用ssh
文件中的MACs
配置选项修改~/.ssh/config
使用的MAC算法。根据{{3}},启用的MAC的默认列表是:
umac-64-etm@openssh.com,umac-128-etm@openssh.com,
hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
hmac-sha1-etm@openssh.com,
umac-64@openssh.com,umac-128@openssh.com,
hmac-sha2-256,hmac-sha2-512,hmac-sha1
以上可能与版本有关。您需要将hmac-md5添加到此列表中,以便添加到~/.ssh/config
之类的内容:
MACs umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,
UMAC-64 @ openssh.com,UMAC-128 @ openssh.com,HMAC-sha2-256,HMAC-sha2-512,HMAC-SHA1,HMAC-MD5
这会将配置应用于所有您的ssh连接;您还可以使用Match
指令将其仅应用于托管远程git存储库的服务器。有关详细信息,请参阅ssh_config
手册页。
答案 1 :(得分:0)
在使用大约6个月之后升级我的mac后发生了这种情况。我删除了我的id_rsa和is_rsa.pub并用ssh-keygen -t rsa重新生成它们
这是一种痛苦,因为我的旧ssh密钥位于我连接的一堆远程服务器中,但是如果您尝试尝试,请记住将新的ssh密钥添加到GitHub。