SSH uses keys whereas SSL tends to use X.509 certificates (and SSH is not based on SSL, by the way).
A (public key) certificate is more than just a public key: it's the association between a public key, an identifier (e.g. Subject DN) and other attributes, the whole being signed (by the issuer for X.509 certificates).
When using RSA for example, it's possible to extract the public key material (modulus and public exponent) and turn it into a certificate. What's missing from this model is that SSH keys are just that, they're not "signed" or "issued" like X.509 certificates are. You'll be missing the PKI aspect often used in SSL in your model. An easy way to go around this would be to make a self-signed certificate out of it. You would then have to import it explicitly in your client to make it trusted, or import it the first time you connect to it (which is after all very similar to what happens the first time you connect to an SSH server).
The formats of RSA keys for SSH and X.509 are different, so you will need to write some code to read the modulus and exponents from the SSH keys and produce the X.509 cert and private key in a format usable by SSL stacks.
This question on StackOverflow should be of interest (although it's done the other way around).