masneyb / gftp

gFTP is a free multithreaded file transfer client for *NIX based machines. 56 language translations available.
http://www.gftp.org
MIT License
116 stars 21 forks source link

popup not showing #72

Open mrfricks opened 4 years ago

mrfricks commented 4 years ago

hi masneyb & wdlkmpx (long time no see wdlkmpx, hope you're well)

i'm building a version of puppylinux based on ubuntu 20.04 and i've run into an issue with gtfp. This happens on all versions of gtfp, older known working gtfps and this one. I'm missing something in my build and was hoping for some pointers about what that might be.

when logging to ibiblio for the first time i would usually get a popup/out saying "the authenticity of host *** can't be established. are you sure you want to continue connecting?" clicking on 'yes' writes a key to ~/.ssh/known_hosts and the connection completes.

however this window isn't showing in so the connection can't complete in my new build of puppylinux. snapshot-2020-06-23-17-55-10

any ideas? cheers

wdlkmpx commented 4 years ago

Hi mrfricks. Using the latest git revision I do see the confirmation dialog: Screenshot(4)

You might want to test the latest git revision https://github.com/masneyb/gftp/commit/a3da87096c1b3f7c506c04531040beb3f7860673 and see if the bug is still there:

git clone -b master --depth 1 https://github.com/masneyb/gftp
cd gftp
./autogen.sh
./configure --prefix=/usr
make
make install

run gftp and see what happens

wdlkmpx commented 4 years ago

If the confirmation dialog is not showing up, some strings are not being received. The clues are in ~/.gftp/gftp.log (yes/no) .. if you can't solve the issue, remove all the sensitive information from that file and attach it to your comment, if you think it will help solve the issue.

Your ssh client is probably missing something.. perhaps a dependency so it can't run.

Try to connect manually using the ssh utility in a terminal window and see what happens..

mrfricks commented 4 years ago

Hi wdlkmpx, thanks for the reply.

I tried the latest revision a3da870 and still no go. The gftp.log has no clues, it just contains the same as on my picture. ssh via the terminal is working fine creating /root/.ssh/known_hosts, after which gftp connects.

Funnily enough though i've just tried the latest ubuntu focal in virtualbox and gftp has the same problems in that. When building this new puppy i noticed quite a few libs that were in bionicpup are not in the focal repo, they have dropped quite a few gnome dependencies amongst other things.

Anyway i've found a work around by adding

StrictHostKeyChecking no

to /etc/ssh/ssh_config

cheers

wdlkmpx commented 4 years ago

It's indeed a bug that probably happens in very recent distro versions. Some research is required.

I'm updating some files, and I'll add your workaround to the FAQ/README file. /etc/ssh/ssh_config or ~/.ssh/ssh_config: StrictHostKeyChecking no

I think gftp is a bit more stable and less buggy, although as you can see, some changes are happening in the GTK UI, it's almost a rewrite following the same design.

I suggest you use the git version, but there might be some new bugs. I did perform a lot of tests, but one person is not enough, bugs happen. A pre-release will happen soon.

I found gftp quite buggy, but it's better now, it looks better. I think it's missing a very basic feature:

Another app that is in good shape now is gee-mplayer (gnome-mplayer). I finally got it to work properly by default (some proper defaults). After removing most of the code, fixing bugs and updating some parts, it's quite stable with GTK3 and GTK2 although the code is still quite large and incredibly complex. It still retains all the important features and dialogs.

masneyb commented 4 years ago

ability to set download/upload speed

This option is already in gftp. Go to FTP -> Preferences -> Network. It's the Max KB/S option. This could probably be presented in a better location in hindsight.

wdlkmpx commented 4 years ago

I have a fix for this bug.

This is my OpenSSH version: OpenSSH_7.4p1 Debian-10+deb9u7, OpenSSL 1.0.2u 20 Dec 2019

I see the default value for StrictHostKeyChecking is ask unless you specify some other value.

At some point I think the default changed to StrictHostKeyChecking=yes, a hardcoded default that can be overridden in ~/.ssh/ssh_config or /etc/ssh/ssh_config.

So gftp requires ssh -o StrictHostKeyChecking=ask or ssh -o StrictHostKeyChecking=no, I think the correct value is ssh -o StrictHostKeyChecking=ask

Perhaps there should be a new SSH option

StrictHostKeyChecking=yes breaks gftp and therefore gftp must change it to ask or no.

wdlkmpx commented 4 years ago

There are two ways to fix this:

This will take effect only if ~/.gftp/gftprc doesn't exist. In other words that file should be deleted first.

gftp should offer the best default options by default.. to keep the documentation to a minimum.

wdlkmpx commented 4 years ago

I think -o StrictHostKeyChecking=xxx should be a required param to pass to ssh, so it should be a configuration option:

default: ssh_strict_host_key_checking=ask

Possible values: yes, no, ask

A ComboBox should be added to: FTP -> Preferences... -> SSH

I know there's some magic there, that dialog is dynamically generated.

The thing is, gftp should not depend on the ssh config file, it should always work in all cases.