{"action":"created","issue":{"url":"https://api.github.com/repos/golang/go/issues/10274","labels_url":"https://api.github.com/repos/golang/go/issues/10274/labels{/name}","comments_url":"https://api.github.com/repos/golang/go/issues/10274/comments","events_url":"https://api.github.com/repos/golang/go/issues/10274/events","html_url":"https://github.com/golang/go/issues/10274","id":64783428,"number":10274,"title":"ssh: handshake failed: ssh: no common algorithms with MACs hmac-sha2-256,hmac-sha2-512","user":{"login":"roman-yepishev","id":601685,"avatar_url":"https://avatars.githubusercontent.com/u/601685?v=3","gravatar_id":"","url":"https://api.github.com/users/roman-yepishev","html_url":"https://github.com/roman-yepishev","followers_url":"https://api.github.com/users/roman-yepishev/followers","following_url":"https://api.github.com/users/roman-yepishev/following{/other_user}","gists_url":"https://api.github.com/users/roman-yepishev/gists{/gist_id}","starred_url":"https://api.github.com/users/roman-yepishev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roman-yepishev/subscriptions","organizations_url":"https://api.github.com/users/roman-yepishev/orgs","repos_url":"https://api.github.com/users/roman-yepishev/repos","events_url":"https://api.github.com/users/roman-yepishev/events{/privacy}","received_events_url":"https://api.github.com/users/roman-yepishev/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/golang/go/labels/repo-crypto","name":"repo-crypto","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-03-27T15:23:08Z","updated_at":"2015-04-01T15:40:25Z","closed_at":null,"body":"go version go1.4.2 darwin/amd64\r\n\r\nWith OpenSSH server configured to accept:\r\n```\r\nMACs hmac-sha2-256,hmac-sha2-512,hmac-ripemd160\r\n```\r\n\r\nGo ssh client fails with:\r\n```\r\nssh: handshake failed: ssh: no common algorithms\r\n```\r\n\r\nThe server side logs that client simply does not support anything but hmac-sha1 and hmac-sha1-96:\r\n\r\n```\r\nfatal: no matching mac found: client hmac-sha1,hmac-sha1-96\r\nserver hmac-sha2-256,hmac-sha2-512,hmac-ripemd160\r\n```\r\n\r\nWhich is indeed true: https://github.com/golang/crypto/blob/c57d4a71915a248dbad846d60825145062b4c18e/ssh/mac.go#L46\r\n```\r\nvar macModes = map[string]*macMode{\r\n\t\"hmac-sha1\": {20, func(key []byte) hash.Hash {\r\n\t\treturn hmac.New(sha1.New, key)\r\n\t}},\r\n\t\"hmac-sha1-96\": {20, func(key []byte) hash.Hash {\r\n\t\treturn truncatingMAC{12, hmac.New(sha1.New, key)}\r\n\t}},\r\n}\r\n```\r\n\r\nIt would be great if the SSH client supported hmac-sha2 family of MACs."},"comment":{"url":"https://api.github.com/repos/golang/go/issues/comments/88526991","html_url":"https://github.com/golang/go/issues/10274#issuecomment-88526991","issue_url":"https://api.github.com/repos/golang/go/issues/10274","id":88526991,"user":{"login":"ianlancetaylor","id":3194333,"avatar_url":"https://avatars.githubusercontent.com/u/3194333?v=3","gravatar_id":"","url":"https://api.github.com/users/ianlancetaylor","html_url":"https://github.com/ianlancetaylor","followers_url":"https://api.github.com/users/ianlancetaylor/followers","following_url":"https://api.github.com/users/ianlancetaylor/following{/other_user}","gists_url":"https://api.github.com/users/ianlancetaylor/gists{/gist_id}","starred_url":"https://api.github.com/users/ianlancetaylor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ianlancetaylor/subscriptions","organizations_url":"https://api.github.com/users/ianlancetaylor/orgs","repos_url":"https://api.github.com/users/ianlancetaylor/repos","events_url":"https://api.github.com/users/ianlancetaylor/events{/privacy}","received_events_url":"https://api.github.com/users/ianlancetaylor/received_events","type":"User","site_admin":false},"created_at":"2015-04-01T15:40:25Z","updated_at":"2015-04-01T15:40:25Z","body":"We don't do pull requests but we accept contributions through the process described at http://golang.org/doc/contribute.html ."}}