Aha! I recently enabled two-factor authentication, which might be why this is happening:
If you have enabled two-factor authentication, or if you are accessing an organization that uses SAML single sign-on, you must provide a personal access token instead of entering your password for HTTPS Git. (Source)
You can create a personal access token and use it in place of a password when performing Git operations over HTTPS with Git on the command line or the API. (Source)
I wasn’t aware of that until now.
Since GitHub recommends HTTPS over SSH, I’ll get that working instead.
So, I fixed two-factor authentication, and the problem still persisted. After much head-scratching, I decided to try in Apple’s “Terminal” app, instead of iTerm.
Lo and behold; cloning over HTTPS worked like a dream.
After some more digging, I found the culprit: The app “Little Snitch” (network filter) was blocking iTerm. Adding an exception to the network filter was all I needed to do