【发布时间】:2019-05-02 02:48:51
【问题描述】:
我正在尝试使用 python-digitalocean 库创建带有 SSH 密钥的液滴。由于某些原因,ssh 密钥未附加到新创建的 droplet。
知道我能做什么吗?
【问题讨论】:
标签: digital-ocean
我正在尝试使用 python-digitalocean 库创建带有 SSH 密钥的液滴。由于某些原因,ssh 密钥未附加到新创建的 droplet。
知道我能做什么吗?
【问题讨论】:
标签: digital-ocean
python-digitalocean 在创建新的 Droplet 时接受多种格式的 SSH 密钥。要记住的重要一点是,即使您只添加一个键,属性也需要采用列表形式。
这是一个简单的例子:
import os
import digitalocean
token = os.getenv('DO_TOKEN')
client = digitalocean.Manager(token=token)
keys = client.get_all_sshkeys()
droplet = digitalocean.Droplet(name='ssh-key-example-01',
region='nyc3',
size='s-1vcpu-1gb',
image='ubuntu-18-04-x64',
ssh_keys=[ keys[0], 3939600,
'b6:2e:fa:ea:96:42:14:1b:62:e2:76:4b:6f:60:1a:e6'],
token=token)
此示例突出显示了接受的三种形式:
keys[0] 是使用 client.get_all_sshkeys() 检索的 SSHKey 对象
3939600 是我的 DigitalOcean 帐户上的 SSH 密钥的 ID,以整数表示b6:2e:fa:ea:96:42:14:1b:62:e2:76:4b:6f:60:1a:e6 是我 DigitalOcean 帐户上 SSH 密钥的指纹如果您想将您帐户上的所有密钥添加到 Droplet,最简单的方法是:
keys = client.get_all_sshkeys()
droplet = digitalocean.Droplet(name='ssh-key-example-01',
region='nyc3',
size='s-1vcpu-1gb',
image='ubuntu-18-04-x64',
ssh_keys=keys,
token=token)
这是有效的,因为client.get_all_sshkeys() 已经在列表中返回了它们。
【讨论】: