 https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

********************CREATE APACHE SSH KEY
~ sign simply shorthand for the user home directory
e.g for the www-data User
home directory of user is /var/www/

sudo mkdir -p /var/www/.ssh
sudo chown www-data:www-data /var/www/.ssh
sudo chmod 700 /var/www/.ssh

//CREATE SSH PUBLIC DEPLOY KEY FOR GITHUB
sudo -u www-data ssh-keygen -t ed25519 -C "rowz-app"

sudo -u www-data cat /var/www/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGRM5tTDZqIrjJCVdiYGsvTZAm3y8+e+7EZ7Sf91XZWI rowz-app
//copy key to git hub repository/settings/deploy keys/create new key - including comment at the  end

Google method for creating folder sturcutre if you have multiple github accounts you want to access on the vm.