It is the fixture, not the test, which defines the private keys.
In this case it is probably a simple mistake that the Dockerfile redundandly hardcodes the public keys, rather than loading them from the resources directory where they are already defined:
COPY unsafe.pub unsafe_enc_key.pub /tmp/
RUN cat /tmp/*.pub > /home/test/.ssh/authorized_keys
With that fixed, there is not much real chance of mistakes when working on the fixture, since the public and private keys are all plainly grouped in one source directory.
An example of how a class would look like:
Notice that now the fixture class is compact as it contains all the information it requires in a single source.