Private keys with passphrase caused EOFError in Docker containers since getpass cannot prompt without a TTY. Added optional "Key Passphrase" field to OCI credentials form. When provided, pass_phrase is written to the OCI config file so both the CLI and SDK can read the key without prompting.