I have configured keys and tried various ways to setup a project (new, create from existing etc) and ssh key with and without passphrase.
I have re-installed Node Red several times which I am running in a docker container with a local data/ folder that I have also removed several times while trying to get this to work.
I am faced with a popup dialogue constantly asking for Authentication... I see nothing in container logs when I set debug.
I would like to know if ssh-based access to a remote (gitea) repo is supported and why this popup appears relentlessly whether or not I specify a passphrase in the original key generation?
(FWIW when I try to create from a pre-existing repo using the Node Red ssh keys for the user (auth is enabled) I can successfully clone the repo to a local folder. So I'm pretty sure the keys are fine and I do not know why this popup keep appearing. I am running v4.0.8.
(I have read all the posts I can find on the topic and not found an answer)
Save that. Now cd into your node-red project folder:
/data/projects/ (your folder may be in a different location if not using docker?)
Assuming you have already added the github remote URL, run the following:
git push --set-upstream origin main
(otherwise you may want to do a "git remote add" to point your project repo to github)
Hopefully, at that point, your project will be "manually" pushed to github.
From that point on, the NodeRed UI for managing the project ?should? work.
In conclusion, as someone else pointed out elsewhere, I think there is an issue with NodeRed doing the initial push of the project.
As mentioned above, the file permissions are super sensitive here. The names of the ssh key files in ~/node-red/projects/.sshkeys/ are also sensitive. With multi-users, they are on format <user name>_<key name>. However I always set up and initialize the repo outside node red before trying to connect. To make sure it exists and that I can access it from local computer. If I somehow mess up the file ssh files (permissions or names), it may be easiest to just delete existing ones and make new ones from scratch. After node red makes the files, make a note of the exact names and permissions!
The node red git interface is minimal. AFAIK it doesn't support more complex operations, just the normal add/commit/push/pull, possibly also some simple merges. And limited to no logging/output. So having a normal git cli in reserve is always useful.