Running ssh-keygen without human interaction?
You can do more or less anything with command-line arguments. Is there something particular you want to do which doesn't appear in the man page?
wry@onyx:~$ ssh-keygen -t dsa -N "my passphrase" -C "test key" -f mykey
Generating public/private dsa key pair.
Your identification has been saved in mykey.
Your public key has been saved in mykey.pub.
The key fingerprint is:
2f:17:a4:5d:6f:25:d7:5a:0e:84:be:af:ee:52:8b:42 test key
(the rest snipped for brevity)
In case of server deployment:
ssh-keygen -t rsa -q -f "$HOME/.ssh/id_rsa" -N ""
In terms of communication from server installed to git repositories or other servers would be easy.