softlayer api:更改root密码和ssh-key操作

时间:2016-09-05 11:09:05

标签: python api ibm-cloud-infrastructure

我是开发人员,目前的工作是编写一个脚本来管理softlayer虚拟机。问题是关于更改Root密码和绑定(删除绑定)SshKey。我的问题是:

  1. 我有一个正在运行的softlayer vm,wihch softlayer api可以帮我改变vm的root密码。

  2. 我有一个正在运行的softlayer vm,它之前没有绑定sshkey。是否有任何softlayer api可以帮助我将ssh-key与此vm绑定?

  3. 与第2点相反,如何使用softlayer api取消绑定sshkey?

2 个答案:

答案 0 :(得分:1)

关于第一个问题,请从vm更改root密码,请按以下步骤操作:

从vm

中检索密码的标识符
https://$user:$apiKey@api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/$vsiId/getSoftwareComponents?objectMask=mask[passwords]

Method: Get

用您自己的信息替换 $ user $ apiKey $ vsiId

你会得到这样的结果:

hardwareId": null
"id": 345676755
"manufacturerLicenseInstance": "C412F72A-1BB1-4C07-9467-E55729234F8E"
"passwords": [1]
0:  {
"createDate": "2016-06-09T11:10:28-03:00"
"id": 122333
"modifyDate": "2016-09-06T11:19:18-03:00"
"password": "Cochabamba"
"port": null
"softwareId": 11209641
"username": "Ruber"
"software": null
}
}

然后您可以使用以下调用进行更新:

https://$user:$apiKey@api.softlayer.com/rest/v3.1/SoftLayer_Software_Component_Password/$passwordId/editObject

Method: Post

{  
   "parameters":[  
      {  
         "username":"usernameTest",
         "password":"Password*-"
      }
   ]
}

使用您自己的信息替换: $ user $ apiKey $ passwordId ,在这种情况下为 $ passwordId 是: 122333

关于第二个第三个问题,遗憾的是,无法通过SoftLayer API执行此操作,因此需要执行操作系统重新加载

答案 1 :(得分:1)

  1. 我有一个正在运行的softlayer vm,wihch softlayer api可以帮我修改vm的root密码。
  2. Ruber Cuellar发布的答案将更改SoftLayer API中列出的密码, 但不会更改系统上的密码 ,除非您执行操作系统重新加载。没有API方法实际上会改变正在运行的系统上的任何内容

    1. 我有一个正在运行的softlayer vm,它之前没有绑定sshkey。是否有任何softlayer api可以帮助我将ssh-key与此vm绑定?
    2. 没有。您当然可以手动添加密钥。 https://help.ubuntu.com/community/SSH/OpenSSH/Keys

      1. 与第2点相反,如何使用softlayer api取消绑定sshkey? 不,但您也可以手动删除它们。
      2. 以下在使用SoftLayer API的SSH密钥

        时也可能有用

        http://sldn.softlayer.com/reference/services/SoftLayer_Security_Ssh_Key

        http://softlayer-api-python-client.readthedocs.io/en/latest/api/managers/sshkey/