configure ssh launchctl
I have not tried this but I can see two possible issues


the arguments with spaces should be two arguments e.g. &lt;string&gt;-p 2222&lt;/string&gt; should be &lt;string&gt;-p&lt;/string&gt;&lt;string&gt;2222&lt;/string&gt;
From a the launchd.plist man page 



  This key maps to the second argument of execvp(3). ... Please note: many people are confused by this key. Please read execvp(3) very carefully!


the execvp(3) man page says that there arguments are filename, arg0, arg1,... and that arg0 is the name of the file so your first argument should be /usr/libexec/sshd-keygen-wrapper repeating Program.

A simpler way might be to remove Program altogether and only have ProgramArguments or just use Program and give the command as if typed into command line.

Another way of making this easy is use a GUI program like Lingon or LaunchControl