Best practices for deploying a secure BOSH director say you should set up a "jumpbox" and restrict access to the director so that only that jumpbox can connect to it.
This repository contains jumpbox, a utility that will install
all necessary utilities for running BOSH deployments, including:
- rvm - For managing versions of Ruby and the BOSH CLI gems
- ruby - For the BOSH CLI
- bosh-init - Tool for bootstrapping a new BOSH director
- bosh - The BOSH CLI itself
- cf - The CF CLI itself
- genesis - For creating multi-tiered deployment repos
- spruce - A YAML multitool for managing BOSH manifests
- safe - An alternate CLI for Hashicorp's Vault
- jq - A JSON query utility
- certstrap - A certificate manager
- sipcalc - An ip subnet calculator
Grab the latest copy from Github and put it in your $PATH:
sudo curl -o /usr/local/bin/jumpbox \
https://raw.githubusercontent.com/starkandwayne/jumpbox/master/bin/jumpbox
sudo chmod 0755 /usr/local/bin/jumpbox
jumpbox operates in two modes: system and user
You only have to run system mode once per box. It installs
global utilities that live outside of individual user home
directories, like spruce, jq, etc.
jumpbox system
Every user on the jumpbox needs to run user mode at least
once. This will set up rvm, the ruby dependencies and the
bosh CLI utility, inside that user's home directory.
jumpbox user
jumpbox can also create user accounts on the local machine:
jumpbox useradd
Full name: Joe User
Username: juser
Enter the public key for this user's .ssh/authorized_keys file:
ssh-rsa AAAAB3N...
Enter an additional public key for this user (leave blank to continue):
You should run `jumpbox user` now, as juser:
sudo -iu juser
jumpbox user
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Added some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request