Modern OpenSSH clients and servers will really only negotiate 3072-, 7680-, and 8192-bit DH moduli per the dh.c source code:
u_int dh_estimate(int bits) {
if (bits <= 112)
return 2048;
if (bits <= 128)
return 3072;
if (bits <= 192)
return 7680;
return 8192;
}
So the 2048-, 4096-, and 6144-bit DH moduli must be used in older OpenSSH clients.
Thus, if generating your own SSH moduli file, just stick to those 3 sizes.