我正在尝试使用python-digitalocean库使用SSH密钥创建Droplet。由于某些原因,ssh密钥未附加到新创建的液滴上。
任何想法我该怎么办?
答案 0 :(得分:0)
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()
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()
已将它们返回到列表中。