密钥对
所有文档
menu

云服务器 BCC

密钥对

创建密钥对

如下代码用于创建密钥对,创建后的密钥对可植入实例以实现远程登录BCC实例:

Go
1package main
2import (
3	"fmt"
4	"github.com/baidubce/bce-sdk-go/services/bcc"
5	"github.com/baidubce/bce-sdk-go/services/bcc/api"
6)
7
8func main() {
9	// 设置您的ak、sk和要访问的endpoint
10	ak := "ak"
11	sk := "sk"
12	endpoint := "http://bcc.bj.baidubce.com"
13	// 创建bcc client
14	bccClient, _ := bcc.NewClient(ak, sk, endpoint)
15
16	// 待创建的密钥对名称
17	name := "bbc"
18	// 待创建的密钥对的描述,可选参数
19	description := "用于创建bbc"
20	args := &api.CreateKeypairArgs{
21		Name:        name,
22		Description: description,
23	}
24	res, err := bccClient.CreateKeypair(args)
25	fmt.Println(res, err)
26}

导入密钥对

如下代码用于用户自行导入创建密钥对:

Go
1package main
2import (
3	"fmt"
4	"github.com/baidubce/bce-sdk-go/services/bcc"
5	"github.com/baidubce/bce-sdk-go/services/bcc/api"
6)
7
8func main() {
9	// 设置您的ak、sk和要访问的endpoint
10	ak := "ak"
11	sk := "sk"
12	endpoint := "http://bcc.bj.baidubce.com"
13	// 创建bcc client
14	bccClient, _ := bcc.NewClient(ak, sk, endpoint)
15	// 创建密钥对名称
16	name := "keyName"
17	// 待创建的密钥对的描述,可选参数
18	description := "description"
19	// 待创建的密钥对的公钥
20	publicKey := "ssh-***"
21	args := &api.ImportKeypairArgs{
22		Name:        name,
23		Description: description,
24		PublicKey:   publicKey,
25	}
26	res, err := bccClient.ImportKeypair(args)
27	fmt.Println(res, err)
28}

绑定密钥对

如下代码可以将所选密钥对(限单个)绑定到所选BCC实例(支持多台)。 目前一台BCC实例只能绑定一个密钥对,若操作的BCC实例已经绑定密钥对,则此操作将替换该BCC实例原有的密钥对。此操作仅适用于linux系统的BCC实例,且所选BCC实例必须处于运行中或已关机状态。

Go
1package main
2import (
3	"fmt"
4	"github.com/baidubce/bce-sdk-go/services/bcc"
5	"github.com/baidubce/bce-sdk-go/services/bcc/api"
6)
7
8func main() {
9	// 设置您的ak、sk和要访问的endpoint
10	ak := "ak"
11	sk := "sk"
12	endpoint := "http://bcc.bj.baidubce.com"
13	// 创建bcc client
14	bccClient, _ := bcc.NewClient(ak, sk, endpoint)
15	// 设置被绑定实例id,可多个
16	instanceIds := []string{"i-***", "i-***"}
17	// 设置被绑定密钥对id
18	keypairId := "k-***"                           
19	args := &api.AttackKeypairArgs{
20		InstanceIds: instanceIds,
21		KeypairId:   keypairId,
22	}
23	err := bccClient.AttachKeypair(args)
24	fmt.Println(err)
25}

解绑密钥对

如下代码可以将所选BCC实例与它们各自绑定的密钥对解绑。 目前一台BCC实例只能绑定一个密钥对,此操作将使所选BCC实例与其通过百度云控制台操作所绑定的密钥对解绑,若该虚机不存在这种密钥对,则不进行处理。 此操作仅适用于linux系统的BCC实例,且所选BCC实例必须处于运行中或关机状态。 注: 1)用户所选BCC实例可能并未绑定任何密钥对,则此操作对该BCC实例无任何作用; 2)用户可能对所选BCC实例手动绑定了密钥对,则此操作对其手动绑定的密钥对不产生任何影响; 3)用户如若此前通过百度云控制台操作,为所选BCC实例绑定过密钥对,且该密钥对状态正常,则此操作将从该BCC实例中删除该密钥对。

Go
1package main
2
3import (
4	"fmt"
5	"github.com/baidubce/bce-sdk-go/services/bcc"
6	"github.com/baidubce/bce-sdk-go/services/bcc/api"
7)
8
9func main() {
10	// 设置您的ak、sk和要访问的endpoint
11	ak := "ak"
12	sk := "sk"
13	endpoint := "http://bcc.bj.baidubce.com"
14	// 创建bcc client
15	bccClient, _ := bcc.NewClient(ak, sk, endpoint)
16	// 待解绑的虚机的短id列表
17	instanceIds := []string{"i-***", "i-***"}
18	// 待解绑的密钥对id
19	keypairId := "k-***"
20	args := &api.DetachKeypairArgs{
21		InstanceIds: instanceIds,
22		KeypairId:   keypairId,
23	}
24	// 发起解绑
25	err := bccClient.DetachKeypair(args)
26	fmt.Println(err)
27}

删除密钥对

如下代码用于删除密钥对,已经绑定BCC实例的密钥对无法被删除:

Go
1package main
2import (
3	"fmt"
4	"github.com/baidubce/bce-sdk-go/services/bcc"
5	"github.com/baidubce/bce-sdk-go/services/bcc/api"
6)
7
8func main() {
9	// 设置您的ak、sk和要访问的endpoint
10	ak := "ak"
11	sk := "sk"
12	endpoint := "http://bcc.bj.baidubce.com"
13	// 创建bcc client
14	bccClient, _ := bcc.NewClient(ak, sk, endpoint)
15	// 设置要删除的密钥对id
16	keypairId := "k-***"
17	// 构建请求体
18	args := &api.DeleteKeypairArgs{
19		KeypairId: keypairId,
20	}
21	err := bccClient.DeleteKeypair(args)
22	fmt.Println(err)
23}

查询密钥对详情

如下代码用于查询单个密钥对的详细信息:

Go
1package main
2
3import (
4	"fmt"
5	"github.com/baidubce/bce-sdk-go/services/bcc"
6)
7
8func main() {
9	// 设置您的ak、sk和要访问的endpoint
10	ak := "ak"
11	sk := "sk"
12	endpoint := "http://bcc.bj.baidubce.com"
13	// 创建bcc client
14	bccClient, _ := bcc.NewClient(ak, sk, endpoint)
15	// 设置被查询密钥对id
16	keypairId := "k-***" 
17	res, err := bccClient.GetKeypairDetail(keypairId)
18	fmt.Println(res, err)
19}

查询密钥对列表

如下代码用于查询密钥对列表:

Go
1package main
2import (
3	"fmt"
4	"github.com/baidubce/bce-sdk-go/services/bcc"
5	"github.com/baidubce/bce-sdk-go/services/bcc/api"
6)
7
8func main() {
9	// 设置您的ak、sk和要访问的endpoint
10	ak := "ak"
11	sk := "sk"
12	endpoint := "http://bcc.bj.baidubce.com"
13	// 创建bcc client
14	bccClient, _ := bcc.NewClient(ak, sk, endpoint)
15	args := &api.ListKeypairArgs{
16		// 批量获取列表的查询的起始位置,是一个由系统生成的字符串
17		Marker:  "k-***",
18		// 每页包含的最大数量,最大数量通常不超过1000。缺省值为1000
19		MaxKeys: 1,            
20	}
21	res, err := bccClient.ListKeypairs(args)
22	fmt.Println(res, err)
23}

重命名密钥对

如下代码用于重命名密钥对:

Go
1package main
2import (
3	"fmt"
4	"github.com/baidubce/bce-sdk-go/services/bcc"
5	"github.com/baidubce/bce-sdk-go/services/bcc/api"
6)
7
8func main() {
9	// 设置您的ak、sk和要访问的endpoint
10	ak := "ak"
11	sk := "sk"
12	endpoint := "http://bcc.bj.baidubce.com"
13	// 创建bcc client
14	bccClient, _ := bcc.NewClient(ak, sk, endpoint)
15	// 新的密钥对名称
16	name := "Name3"
17	// 待重命名的密钥对id
18	keypairId := "k-***" 
19	args := &api.RenameKeypairArgs{
20		Name:      name,
21		KeypairId: keypairId,
22	}
23	err := bccClient.RenameKeypair(args)
24	fmt.Println(err)
25}

更改密钥对描述

如下代码用于更改密钥对描述,若用户提供的新的描述内容为空,则删除所操作虚机的描述:

Go
1package main
2
3import (
4	"fmt"
5	"github.com/baidubce/bce-sdk-go/services/bcc"
6	"github.com/baidubce/bce-sdk-go/services/bcc/api"
7)
8
9func main() {
10	// 设置您的ak、sk和要访问的endpoint
11	ak := "ak"
12	sk := "sk"
13	endpoint := "http://bcc.bj.baidubce.com"
14	// 创建bcc client
15	bccClient, _ := bcc.NewClient(ak, sk, endpoint)
16	// 设置要更新的密钥对描述
17	description := "DESC"
18	// 设置要更新描述的密钥对id
19	keypairId := "k-***" 
20	args := &api.KeypairUpdateDescArgs{
21		Description: description,
22		KeypairId:   keypairId,
23	}
24	// 更新keypair的描述信息
25	err := bccClient.UpdateKeypairDescription(args)
26	fmt.Println(err)
27}
上一篇
安全组
下一篇
部署集