我是开发人员,目前的工作是编写一个脚本来管理softlayer虚拟机。问题是关于更改Root密码和绑定(删除绑定)SshKey。我的问题是:
我有一个正在运行的softlayer vm,wihch softlayer api可以帮我改变vm的root密码。
我有一个正在运行的softlayer vm,它之前没有绑定sshkey。是否有任何softlayer api可以帮助我将ssh-key与此vm绑定?
与第2点相反,如何使用softlayer api取消绑定sshkey?
答案 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)
Ruber Cuellar发布的答案将更改SoftLayer API中列出的密码, 但不会更改系统上的密码 ,除非您执行操作系统重新加载。没有API方法实际上会改变正在运行的系统上的任何内容
没有。您当然可以手动添加密钥。 https://help.ubuntu.com/community/SSH/OpenSSH/Keys
以下在使用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/