密钥对
更新时间:2023-03-27
创建密钥对
该接口用于创建密钥对,创建后的密钥对可植入实例以实现远程登录虚机。
// 待创建的密钥对名称
name := "your-keypair-name"
// 待创建的密钥对的描述,可选参数
description := "your-keypair-desc"
args := &api.CreateKeypairArgs{
Name: name,
Description: description,
}
if res, err := bccClient.CreateKeypair(args); err != nil {
fmt.Println("create keypair failed: ", err)
} else {
fmt.Println("create keypair success,res: ", res)
}
导入密钥对
该接口用于用户自行导入创建密钥对。
// 待创建的密钥对名称
name := "your-keypair-name"
// 待创建的密钥对的描述,可选参数
description := "your-keypair-desc"
publicKey := "your-publickey"
args := &api.ImportKeypairArgs{
Name: name,
Description: description,
PublicKey: publicKey,
}
if res, err := bccClient.ImportKeypair(args); err != nil {
fmt.Println("create keypair failed: ", err)
} else {
fmt.Println("create keypair success,res: ", res)
}
绑定密钥对
该接口用于将所选密钥对(限单个)绑定到所选虚机(支持多台)。 目前一台虚机只能绑定一个密钥对,若操作的虚机已经绑定密钥对,则此操作将替换该虚机原有的密钥对。此操作仅适用于linux系统的虚机,且所选虚机必须处于运行中或关机状态。
instanceIds := []string{"your-instanceId"}
keypairId:= "your-keypair-id"
args := &api.AttackKeypairArgs{
InstanceIds: instanceIds,
KeypairId: keypairId,
}
if err := bccClient.AttachKeypair(args); err != nil {
fmt.Println("attach keypair failed: ", err)
} else {
fmt.Println("attach keypair success")
}
解绑密钥对
该接口用于将所选虚机与它们各自绑定的密钥对解绑。 目前一台虚机只能绑定一个密钥对,此操作将使所选虚机与其通过百度云控制台操作所绑定的密钥对解绑,若该虚机不存在这种密钥对,则不进行处理。 此操作仅适用于linux系统的虚机,且所选虚机必须处于运行中或关机状态。 注: 1)用户所选虚机可能并未绑定任何密钥对,则此操作对该虚机无任何作用; 2)用户可能对所选虚机手动绑定了密钥对,则此操作对其手动绑定的密钥对不产生任何影响; 3)用户如若此前通过百度云控制台操作,为所选虚机绑定过密钥对,且该密钥对状态正常,则此操作将从该虚机中删除该密钥对
instanceIds := []string{"your-instanceId"}
keypairId:= "your-keypair-id"
args := &api.DetachKeypairArgs{
InstanceIds: instanceIds,
KeypairId: keypairId,
}
if err := bccClient.DetachKeypair(args); err != nil {
fmt.Println("detach keypair failed: ", err)
} else {
fmt.Println("detach keypair success")
}
删除密钥对
该接口用于删除密钥对,已经绑定虚机的密钥对无法被删除。
keypairId:= "your-keypair-id"
args := &api.DetachKeypairArgs{
KeypairId: keypairId,
}
if err := bccClient.DeleteKeypair(args); err != nil {
fmt.Println("detach keypair failed: ", err)
} else {
fmt.Println("detach keypair success")
}
查询密钥对详情
该接口用于查询单个密钥对的详细信息。
keypairId:= "your-keypair-id"
if res, err := bccClient.GetKeypairDetail(keypairId); err != nil {
fmt.Println("get keypair failed: ", err)
} else {
fmt.Println("get keypair success,res: ", res)
}
查询密钥对列表
该接口用于查询密钥对列表。
// 批量获取列表的查询的起始位置,是一个由系统生成的字符串,可选参数
marker := "your-marker"
// 每页包含的最大数量,最大数量通常不超过1000。缺省值为1000,可选参数
maxKeys := your-maxKeys
args := &api.ListKeypairArgs{
Marker marker,
MaxKeys maxKeys,
}
if res, err := bccClient.ListKeypair(args); err != nil {
fmt.Println("get keypair list failed: ", err)
} else {
fmt.Println("get keypair list success,res: ", res)
}
重命名密钥对
该接口用于重命名密钥对。
name := "your-keypair-name"
keypairId:= "your-keypair-id"
args := &api.RenameKeypairArgs{
Name: name,
KeypairId: keypairId,
}
if err := bccClient.RenameKeypair(args); err != nil {
fmt.Println("update keypair name failed: ", err)
} else {
fmt.Println("update keypair name success")
}
更改密钥对描述
该接口用于更改密钥对描述,若用户提供的新的描述内容为空,则删除所操作虚机的描述。
description := "your-keypair-desc"
keypairId:= "your-keypair-id"
args := &api.KeypairUpdateDescArgs{
Description: description,
KeypairId: keypairId,
}
if err := bccClient.UpdateKeypairDescription(args); err != nil {
fmt.Println("create keypair failed: ", err)
} else {
fmt.Println("update keypair desc success")
}