This is really broad question and not exact. There are two ways how to use GSSAPI for SSH logins:
- GSSAPI Key Exchange - not implemented in openssh, but distributed as a patch (part of RHEL, Fedora and Debians)
GSSAPIAuthentication
- part of openssh
GSSAPI Key Exchange
The plus is certainly the manageability - with GSSAPI key exchange you don't have to even care about host keys. Just register the host to domain.
For key exchange, there are used basically these methods. The first is considered possibly vulnerable, because they use 1024 b primes. They are based on respective DH key exchange methods.
- gss-group1-sha1-*
- gss-group14-sha1-*
- gss-gex-sha1-*
Update in 2022: Since I wrote this answer, we worked on modernizing the gssapi key exchange specification in RFC8732 so now so nowadays, the following modern key exchange methods are implemented and supported in Fedora, RHEL as well as Debian:
- gss-nistp256-sha256-*
- gss-nistp384-sha384-*
- gss-nistp521-sha512-*
- gss-curve25519-sha256-*
- gss-curve448-sha512-*
The original key exchanges are not recommended to be used anymore.
GSSAPI Authentication
About the GSSAPI Authentication, you use normal SSH key exchange methods (ECDH preferably), which has to be managed somehow else (certificates?) to mitigate MitM. Then authenticate to remote host using kerberos. This communication is already encrypted so there is no different security question than authenticating to any other kerberos service or using any other authentication method in SSH that does not transfer secrets (public key authentication, not passwords).