12
|
1 from pyinfra import host
|
|
2 from pyinfra.facts.server import LinuxDistribution
|
|
3 from pyinfra.operations import files, systemd
|
|
4
|
|
5 is_pi = host.get_fact(LinuxDistribution)['name'] in ['Debian', 'Raspbian GNU/Linux']
|
|
6
|
|
7 systemd.service(
|
|
8 service='ssh',
|
|
9 running=True,
|
|
10 enabled=True,
|
|
11 )
|
|
12
|
|
13 files.line(path='/etc/ssh/ssh_config', line="HashKnownHosts", replace="HashKnownHosts no")
|
|
14
|
|
15 if is_pi:
|
|
16 auth_keys = '/home/pi/.ssh/authorized_keys'
|
|
17 files.file(path=auth_keys, user='pi', group='pi', mode=600)
|
|
18 for pubkey in [
|
|
19 'ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNlR7hereUHqw/RHQau0F7+vQZKAxduM+SD4R76FhC+4Zi078Pv04ZLe9qdM/NBlB/grLGhG58vaGmnWPpJ3QJs= drewp@plus',
|
|
20 'ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOR+iV8Qm/rAfmq0epXYfnp5ZTfBl8eidFzw1GmyZ3fPUFAshWn839fQ5DPj9xDPtMy9kTtrB5bK1SnynFzDqzQ= drewp@bang',
|
|
21 ]:
|
|
22 files.line(path=auth_keys, line=pubkey, replace=pubkey)
|