これはあなたの質問に完全に答えるものではありませんが、Rackspace API を使用した自動化で、SSH キーをサーバーに配置する別の方法を紹介したいと思います。たとえば、pyraxを使用している場合:
import pyrax
import os
pyrax.set_setting("identity_type", "rackspace")
pyrax.set_setting("username", USER_NAME) # User name
pyrax.set_setting("api_key", API_KEY) # Located in the control panel in settings
# Could also use a credential file
# pyrax.set_credential_file(os.path.expanduser("~/.rackspace_cloud_credentials"))
# Put your SSH key on the Rackspace cloud
pubkey = open("my_priv_key").read()
cs.keypairs.create("testkey", pubkey)
# For demo purposes, grab a sample image, server type (flavor in OpenStack parlance)
flavor_512 = [flavor for flavor in cs.flavors.list() if flavor.ram == 512][0]
ubu_image = [img for img in cs.images.list() if "Ubuntu 12.04" in img.name][0]
# Now we can create the server and assign an ssh key
server = cs.servers.create("ubbie", ubu_image.id, flavor_512.id,
key_name="testkey")
API キーは、セキュリティの質問の下にあるクラウド コントロール パネル内の [設定と連絡先] にあります。

サーバーが構築されると、IPアドレスを取得できるはずです
server = cs.servers.get(server.id)
ip = server.accessIPv4
次に、指定したキーを使用して root として単純に ssh します。
ssh -i my_priv_key root@<ip>
Python が優先言語でない場合は、他のオプションがあります。これはRackspace APIとOpenStack/novaの一部であるため、必要に応じて直接リクエストを作成したり、curl を使用したりすることもできます。