fork-dev / TrackerWin

Bug and issue tracker for Fork for Windows
459 stars 10 forks source link

Fork blocked when cloning through ssh with no known_hosts file #2065

Open aodpi opened 9 months ago

aodpi commented 9 months ago

Short description

I've noticed multiple instance of fork being blocked when cloning a repository for the first time.

Steps to reproduce

Fork keeps showing progress but in actuality nothing is happening because it's stuck.

The issue is that ssh asks the user to add the host to known_hosts file. This action requires user input but Fork doesn't handle any user input in this situation so it keeps running forever.

The warning can be seen below.

image

Fork Version v 1.90.1.0 (Windows)

Git Version I'm using my machine's git instance which is: 2.41.0.windows.3

DanPristupov commented 9 months ago

Weird, I just tested and got the exactly same message but Fork handled it properly.

The authenticity of host 'gitlab.com (172.65.251.78)' can't be established.
ED25519 key fingerprint is SHA256:eUXGGm1YGsMAS7vkcx6JOJdOGHPem5gQp4taiCfCLB8.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? 

It might be some other message...

aodpi commented 8 months ago

From my observations and tests that I've done I've noticed it keeps fetching/pulling without stopping during this ssh message.

Is it possible that you have your ssh configured so that this message will not appear at all on your machine?

I'm talking specifically about the StrictHostKeyChecking setting that is typically located in ssh config file. If it's set to no then I believe this message will not appear and fork will work as expected.

I tried reinstalling fork, deleting the known_hosts file and my fork instance is stuck at this

image

I have to do a fetch/pull from terminal, input yes to add to known hosts, and then fork will work after re-opening.

aodpi commented 8 months ago

I've switched to internal git instance (Fork git instance) previously was Windows git instance and it is working as expected. But then I noticed that fork automatically accepts the host when doing some operations:

image

To properly reproduce this a windows git instance should be used instead of internal git instance provided by fork.