Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error -16 (SSH response issue) with Godot 4.2.1 Stable #215

Open
sillypears opened this issue Jan 4, 2024 · 13 comments
Open

Error -16 (SSH response issue) with Godot 4.2.1 Stable #215

sillypears opened this issue Jan 4, 2024 · 13 comments
Labels

Comments

@sillypears
Copy link

While being able to stage/unstage and commit files without issue, pushing to and pulling from Git over SSH appears to not work for me. If I open the repository in VSCode (or from cmd line) I am able to push and pull without issue.

I setup my respos to use SSH transport and in the VCS I have added my keys. Refreshing, pulling or pushing commits causes the Godot editor to freeze for ~2 minutes (assuming this is the SSH timeout). Screenshot of the error below.

Not sure if I'm doing something wrong or if there was something I missed.

image

@Calinou Calinou added the bug label Jan 4, 2024
@Calinou
Copy link
Member

Calinou commented Jan 4, 2024

Which Git host are you trying to push to? Does your SSH key use ECDSA (elliptic curve) cryptography? See #193.

@sillypears
Copy link
Author

sillypears commented Jan 4, 2024

This is going to Github.com

It's been a while since I had created the key so I'm unsure, but it's possible that I created it with ECDSA. I know on MacOS it was giving me some issues because it was an OPENSSH generated key instead of RSA and I had to do some conversions to have the Mac even load the key. I've tried both versions of that with the plugin and both failed.

I've switched to having a 2nd remote as an HTTP origin and PAT for now. If there is any kind of debugging I can run have it the plugin show more information, I'm happy to try that out.

@Mishaniz
Copy link

I am encountering the same issue, trying to push to Github with an RSA key.

@Herbherth
Copy link

Same, using SSH doesn't seems to work. Tried with Ed25519 and RSA keys.

I've switched to having a 2nd remote as an HTTP origin and PAT for now. If there is any kind of debugging I can run have it the plugin show more information, I'm happy to try that out.

Luckily that works out for me too, thankyou, I just wish that I could have the option to save the PAT so I don't have to put it again every time I want to push something.

@LaurentOngaro
Copy link

same issue for me with SSH
and it works fine with an HTTPS url in the git config file

@unchowder
Copy link

Just wanted to chime in that I experienced the same thing. SSH wasn't connecting with error -16, but an HTTPS url for the remote and a PAT for the password works.

I'm new-ish to software and mostly self-taught, so this tripped me up for a bit since I was just following the plugin documentation, which makes no mention of this issue.

@Calinou
Copy link
Member

Calinou commented Apr 8, 2024

I'm new-ish to software and mostly self-taught, so this tripped me up for a bit since I was just following the plugin documentation, which makes no mention of this issue.

I've modified the wiki setup page to warn about known issues in SSH authentication.

@Buczkek
Copy link

Buczkek commented May 11, 2024

I've had the same issue with the RSA key, after hours of searching for a fix I found out that the SSH key in PEM format works fine.

@howardwu1
Copy link

howardwu1 commented May 21, 2024

I've had the same issue with the RSA key, after hours of searching for a fix I found out that the SSH key in PEM format works fine.

Thank you so much @Buczkek
Confirmed this works for me too. Would love if the docs were changed to have this fix!

@Tetriser
Copy link

Tetriser commented Aug 8, 2024

I still get the error even if my RSA key is in PEM format
Created it using ssh-keygen -t rsa -m PEM

@ysilog
Copy link

ysilog commented Nov 10, 2024

thanks, finally i found a solution for this issue ...
ssh-keygen -t rsa -m pem worked fine for me
ssh-keygen -m pem didn't worked (ed25519 type)

@Real-EdgeLord
Copy link

ok let me sort this out ... this could be added to the docs but for now we have it working

the set up and exact process omits a lot of steps that break the process ... this is my first time setting up github repo and hear is how i got it working

1 - you need to get the software called "git" you can follow any guide on that
2 - create a github account and setup a repo that you would use for your project "keep the name you will need it later" (you can keep the repo empty for now)
3 - using git you need to create an SSH key ... the github guide on how to do that works except you need to change the command that creates the key from ssh-keygen -t ed25519 -C "[email protected]" to ssh-keygen -t rsa -m pem you can ignore ssh passphrase ... also any guide on how to create it and add it to github would work for this step
4 - follow the rest of the setup from github SSH guide to link the key with your account
5 - go to your project and load in the plugin in either by placing the unziped file in the addons folder, or by simpling getting the addon from the asset store (i recommend that)
6 - the addon can't be turned on ... just ignore it ... it is a thing that is going to stay there
7 - make sure you have the version controll meta data by opening your godot project going into Project tap ... Version Control ... create mate data
8 - it is time to link your account by using Version control settings in the same tap as last step (you can follow the plugin guide from here) ... turn Connect to VCS on ( you will not connect to anything by turning it on but it is required to do so)
9 - make sure that the user name is Not the user name that gets displayed on top in you github account page (it is the name under it) ... you would need the other user name from github (the one that you can't change so easy) ... password is your github password
10 - link your ssh privet and public keys simple file location and hit apply
11 - on godot commit tap (on the top left side next to the inspector) you need to link to the repo using its name and an SSH link to the repo ... you can get the ssh link from hitting the code button on the code tap in your github repo (or you will see it head on if you open an empty repo) copy the name of the repo and the ssh link
12 - in godot on the commit tap on the bottom left click the 3 dots and select create new remote
13 - a pop up will show where you would put the name and the link to the repo

you are all connected up to push ... to do so in godot on the commit tap you will find your latest changes .. move them to the staging tap ... type any comment and hit commit changes .... nothing will happen on github yet

you need to create a branch from the 3 dots on the bottom left and then finally you can push to github using the push arrow right next to the 3 dots on the bottom left

Good luck

@sillypears
Copy link
Author

I believe this is working if your remote is setup as HTTPS and not GIT. I've had no issues using a remote with HTTPS and user/pass. It specifically is using a GIT over SSH upstream and only using keyexchange

ok let me sort this out ... this could be added to the docs but for now we have it working

the set up and exact process omits a lot of steps that break the process ... this is my first time setting up github repo and hear is how i got it working

1 - you need to get the software called "git" you can follow any guide on that 2 - create a github account and setup a repo that you would use for your project "keep the name you will need it later" (you can keep the repo empty for now) 3 - using git you need to create an SSH key ... the github guide on how to do that works except you need to change the command that creates the key from ssh-keygen -t ed25519 -C "[email protected]" to ssh-keygen -t rsa -m pem you can ignore ssh passphrase ... also any guide on how to create it and add it to github would work for this step 4 - follow the rest of the setup from github SSH guide to link the key with your account 5 - go to your project and load in the plugin in either by placing the unziped file in the addons folder, or by simpling getting the addon from the asset store (i recommend that) 6 - the addon can't be turned on ... just ignore it ... it is a thing that is going to stay there 7 - make sure you have the version controll meta data by opening your godot project going into Project tap ... Version Control ... create mate data 8 - it is time to link your account by using Version control settings in the same tap as last step (you can follow the plugin guide from here) ... turn Connect to VCS on ( you will not connect to anything by turning it on but it is required to do so) 9 - make sure that the user name is Not the user name that gets displayed on top in you github account page (it is the name under it) ... you would need the other user name from github (the one that you can't change so easy) ... password is your github password 10 - link your ssh privet and public keys simple file location and hit apply 11 - on godot commit tap (on the top left side next to the inspector) you need to link to the repo using its name and an SSH link to the repo ... you can get the ssh link from hitting the code button on the code tap in your github repo (or you will see it head on if you open an empty repo) copy the name of the repo and the ssh link 12 - in godot on the commit tap on the bottom left click the 3 dots and select create new remote 13 - a pop up will show where you would put the name and the link to the repo

you are all connected up to push ... to do so in godot on the commit tap you will find your latest changes .. move them to the staging tap ... type any comment and hit commit changes .... nothing will happen on github yet

you need to create a branch from the 3 dots on the bottom left and then finally you can push to github using the push arrow right next to the 3 dots on the bottom left

Good luck

I believe yours is working with all that setup if your git remote is setup as HTTPS and not SSH. I've had no issues using a remote with HTTPS and user/pat. It specifically is using a GIT over SSH upstream and only using key-exchange.

E:\github\godot\resin_invaders>git remote -vv
origin  [email protected]:sillypears/resin_invaders.git (fetch)
origin  [email protected]:sillypears/resin_invaders.git (push)
origin-http     https://github.com/sillypears/resin_invaders.git (fetch)
origin-http     https://github.com/sillypears/resin_invaders.git (push)

As long as I push to origin-http and I have user/pat setup, no issues. But if I try to push to origin with just keyexchange and ssh keys, the error happens.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests