Description
As defined in RFC 4462
This is commonly used for (MIT/Heimdal/Active Directory) Kerberos authentication, though other GSSAPI mechanisms exist.
There are several different GSSAPI implementations available for Go (e.g. https://gopkg.in/jcmturner/gokrb5.v5, https://github.com/apcera/gssapi). It probably doesn't make sense to bless one of these external packages in x/crypto/ssh, so I would instead suggest that a callback- or interface-based AuthMethod be defined, so the user can plug in the GSSAPI mechanism of their choice.
I think modern SSH servers only support the gssapi-with-mic
auth method, though some patched SSH servers (Debian for instance) also support the gssapi-keyex
auth method. The latter auth method is significantly more complicated, so I would suggest starting only with gssapi-with-mic
.