You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.6 KiB
52 lines
1.6 KiB
# Raspberry Pi Ansible
|
|
|
|
Glenn K. Lockwood, August 2017
|
|
|
|
## Introduction
|
|
|
|
This is an Ansible configuration that configures a fresh Raspbian installation
|
|
on Raspberry Pi. This is very much a work in progress and not intended to be
|
|
used by anyone but me.
|
|
|
|
## Bootstrapping on Raspbian
|
|
|
|
If you want to use these playbooks to make a Raspberry Pi self-configure,
|
|
install Ansible by doing the following:
|
|
|
|
$ pip install --user ansible
|
|
$ ssh-keygen
|
|
$ ssh-copy-id localhost
|
|
|
|
If not bootstrapping from the Raspberry Pi itself, you can instead do
|
|
|
|
$ ssh-copy-id pi@raspberrypi
|
|
|
|
and authenticate using the default `raspberry` password. This will enable
|
|
key-based authentication to the remote Raspberry Pi to be configured.
|
|
|
|
You can ensure that Ansible is able to configure using the following:
|
|
|
|
$ ansible -i hosts all -m ping
|
|
|
|
You can also ensure that authentication also works.
|
|
|
|
$ ansible -i hosts -u pi --sudo-user root all -a "/usr/bin/id -u"
|
|
|
|
## Running the Playbook
|
|
|
|
This playbook will deactivate password authentication for the `pi` user since
|
|
it assumes that you have key-based authentication configured _before_ the
|
|
playbook is executed. Be sure that is the case or you may be locked out of
|
|
your Raspberry Pi altogether.
|
|
|
|
Then run the playbook:
|
|
|
|
$ ansible-playbook --inventory-file hosts --limit cloverfield --user pi --sudo site.yml
|
|
|
|
or
|
|
|
|
$ ansible-playbook -i hosts -l clovermine -u pi -s site.yml
|
|
|
|
Raspbian should allow the `pi` user to sudo without a password. If not, run
|
|
using `--ask-become-pass` (or `-K`) and enter the sudo password (default would
|
|
be `raspberry`) for the remote user (`pi`).
|
|
|