Não é possível, fora do próprio processo. Veja esta pergunta do SuperUser para mais discussão e uma resposta envolvendo o uso de um depurador para anexar ao processar e executar setgid() de dentro dele.
O motivo pelo qual é necessário um novo login para realizar as novas associações de grupo é que login (ou sshd ou qualquer outra coisa) é executado como raiz e deve definir UID e GID de processo para seu processo de shell, o que significa já chamando setuid e setgid .