{"action":"opened","issue":{"url":"https://api.github.com/repos/Nubisproject/nubis-stacks/issues/62","labels_url":"https://api.github.com/repos/Nubisproject/nubis-stacks/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/Nubisproject/nubis-stacks/issues/62/comments","events_url":"https://api.github.com/repos/Nubisproject/nubis-stacks/issues/62/events","html_url":"https://github.com/Nubisproject/nubis-stacks/issues/62","id":95973611,"number":62,"title":"[ec2] Enable ssh access to instances","user":{"login":"gozer","id":903592,"avatar_url":"https://avatars.githubusercontent.com/u/903592?v=3","gravatar_id":"","url":"https://api.github.com/users/gozer","html_url":"https://github.com/gozer","followers_url":"https://api.github.com/users/gozer/followers","following_url":"https://api.github.com/users/gozer/following{/other_user}","gists_url":"https://api.github.com/users/gozer/gists{/gist_id}","starred_url":"https://api.github.com/users/gozer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gozer/subscriptions","organizations_url":"https://api.github.com/users/gozer/orgs","repos_url":"https://api.github.com/users/gozer/repos","events_url":"https://api.github.com/users/gozer/events{/privacy}","received_events_url":"https://api.github.com/users/gozer/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Nubisproject/nubis-stacks/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/Nubisproject/nubis-stacks/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-07-20T03:01:24Z","updated_at":"2015-07-20T03:01:24Z","closed_at":null,"body":"Assuming this is something we want to do/allow, the question is how could it be implemented in a way that compromises the design principles as little as possible.\r\n\r\n - [ ] How does ssh access itself get connected to ?\r\n - [ ] How does authentication work ?\r\n - [ ] How does permissions/privileges work (sudo/etc) ?\r\n - [ ] How does auditing work ?\r\n - [ ] How can we ensure tampered instances are not put back in rotation ?\r\n\r\nMy current thinking revolves around the idea of detaching an instance from the autoscaling group / ELB pool and direct the ssh user to that. It's a production instance for all intents and purposes but doesn't see live traffic anymore. Run your DB migrations from there, then kill the instance once you are done with it.\r\n\r\nNeeds more thinking, obviously.\r\n\r\nhttps://svn.apache.org/repos/infra/infrastructure/trunk/projects/ckl/\r\nhttp://linux.die.net/man/1/sudosh"}}