Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms


user-ssh-keys (3) Versions 1.0.1

Deploys SSH keys

cookbook 'user-ssh-keys', '= 1.0.1'
cookbook 'user-ssh-keys', '= 1.0.1', :supermarket
knife cookbook site install user-ssh-keys
knife cookbook site download user-ssh-keys
Quality 0%

user-ssh-keys-cookbook Build Status

Deploys SSH keys and authorized keys

Supported Platforms

  • CentOS 6.5
  • Debian 7


The root key of all attributes is user_ssh_keys.

Key Type Default Description
data_bag String ssh_keys Databag where to search for keys
users Hash {} A list of users with names as key


Key Type Default Description
authorized_keys Array [] Array of strings representing authorized SSH public keys
authorized_users Array [] Array of strings representing authorized users (found in the databag)


This cookbook provides one resource:


user_ssh_keys_key 'john' do
  authorized_keys [
    'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmz4D...',
    'ssh-rsa sFE5JafGV4UmfxGP5/vpAAADWC8HcoQAyYT...'
  authorized_users %w(bob joe)

This resource will add authorized keys from the provided list (authorized_keys) and from users declared in the databag (bob and joe) to the john user.


The databag is an Hash with usernames as keys. Each user can have a list of keypairs (as an Array). A keypais is described as follow:

Key Type Default Description
id String nil Arbitrary name for the key
priv String nil Public key content
pub String nil Private key content


You can use this cookbook in tow ways:

  • using the default recipe and providing (attributes)[#attributes]
  • using the LWRP

Both methods require you to define a databag to define SSH key pairs. Defining attributes is not required if you only want to use the LWRP.


Include user-ssh-keys in your node's run_list:

  "run_list": [

Example databag

    "bob": [
            "id": "my_key",
            "pub": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmz4D...",
            "priv": [
                "-----BEGIN RSA PRIVATE KEY-----",
                "-----END RSA PRIVATE KEY-----"
            "id": "my_other_key",
            "pub": "ssh-rsa sFE5JafGV4UmfxGP5/vpWC8HcoQAyYT...",
            "priv": [
                "-----BEGIN RSA PRIVATE KEY-----",
                "-----END RSA PRIVATE KEY-----"

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

There are no cookbooks that are contingent upon this one.


Initial release of ssh-keys

Foodcritic Metric

1.0.1 failed this metric

FC031: Cookbook without metadata file: /tmp/cook/e795142fc3bfae3bf3fa7210/user-ssh-keys/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/e795142fc3bfae3bf3fa7210/user-ssh-keys/metadata.rb:1