【问题标题】:I'm using python-digitalocean to create droplets on DO. I cannot attach ssh keys to droplets我正在使用 python-digitalocean 在 DO 上创建液滴。我无法将 ssh 密钥附加到液滴
【发布时间】:2019-05-02 02:48:51
【问题描述】:

我正在尝试使用 python-digitalocean 库创建带有 SSH 密钥的液滴。由于某些原因,ssh 密钥未附加到新创建的 droplet。

知道我能做什么吗?

【问题讨论】:

    标签: digital-ocean


    【解决方案1】:

    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() 已经在列表中返回了它们。

    【讨论】:

      猜你喜欢
      • 2016-06-08
      • 1970-01-01
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 2021-10-15
      • 2017-03-14
      • 1970-01-01
      相关资源
      最近更新 更多