When we setup FreePBX, clients will often elect not to purchase the Endpoint Manager (EPM) commercial module.
They do this because once the physical phones are setup, they almost never make changes often that require learning how to use and maintain the endpoints via EPM.
EPM is a solid product for a very reasonable cost. But like all things, the cost must be weighed against the benefit.
For customers that do not use EPM, we setup a private git repository to easily maintain things. To automate that, the PBX needs to use key based SSH.
Everything FreePBX does is owned by the user asterisk so you need to create a keypair under that user.
Log in to your PBX console via ssh as yourself.
ssh pbx.domain.com or ssh [email protected]
Switch to the asterisk user.
sudo su asterisk
Create the ssh keypair using modern strong methods.
ssh-keygen -o -t ed25519 -C "FreePBX Asterisk User"
It will ask what directory, to store the key, press enter.
The default is what you want: /home/asterisk/.ssh
It will ask for a passphrase, do not enter anything. This is for automation, there will be no user to enter the passphrase every time the key is used.
It will ask to confirm the passphrase, press enter again.
It will then display the key fingerprint and ascii art.