Do I have to live in Germany or do I have to have a bank account in Germany to receive a German pension?

No, this is not necessary! If a German pension is awarded to you, it can be paid directly into your own bank account or you can elect to have a monthly cheque sent to your address.