Skip to content

kierandoonan/chef-cookbook-ssh-config

Repository files navigation

ssh-config Cookbook

A simple cookbook that updates either /etc/ssh/config or ~/.ssh/config based on the contents of a data bag

Requirements

packages

  • chef-solo-search - this cookbook uses search so the chef-solo-search cookbook is required if you are running chef-solo

Attributes

ssh-config::default

Key Type Description Default
['ssh-config']['config_file'] String The location of the config file to update (defaults to global config) /etc/ssh/ssh_config
['ssh-config']['identityfile_dir'] String Folder that should prefix all identityfile attribtues ~/.ssh/keys

Usage

ssh-config::default

Include ssh-config in your node's run_list:

{
  "name":"my_node",
  "run_list": [
    "recipe[ssh-config]"
  ]
}

Create a data bag called ssh_config with items like the below

{
  "id": "example",
  "hosts": [
    {
      "id": "webserver-1",
      "identityfile": "webserver.pem",
      "hostname": "10.0.0.1",
      "user": "ubuntu",
      "port": 22
    }
  ]
}

All data bag items in the data bag will be included in the config. Any key/value pair for the items in hosts is valid, the only required one is id

Contributing

  1. Fork the repository on Github
  2. Create a named feature branch (like add_component_x)
  3. Write your change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request using Github

License and Authors

Authors: Kieran Doonan

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published