gftp icon indicating copy to clipboard operation
gftp copied to clipboard

popup not showing

Open mrfricks opened this issue 4 years ago • 8 comments

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

mrfricks avatar Jun 23 '20 17:06 mrfricks

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 avatar Jun 23 '20 17:06 wdlkmpx

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..

wdlkmpx avatar Jun 23 '20 19:06 wdlkmpx

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

mrfricks avatar Jun 24 '20 11:06 mrfricks

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:

  • ability to set download/upload speed

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.

wdlkmpx avatar Jun 24 '20 19:06 wdlkmpx

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.

masneyb avatar Jun 26 '20 14:06 masneyb

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.

  • StrictHostKeyChecking=yes = broken ssh in gftp
  • StrictHostKeyChecking=ask = confirmation dialog in gftp
  • StrictHostKeyChecking=no = automatic connection in gftp

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

  • Automatically accept server key fingerprint (disabled by default)

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

wdlkmpx avatar Jun 28 '20 00:06 wdlkmpx

There are two ways to fix this:

  • Editing the 'master config file': docs/sample.gftp/gftrc ssh_extra_params= -o StrictHostKeyChecking=ask

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

  • Hardcoding the argument in lib/sshv2.c
  sshv2_add_exec_args (&logstr, &logstr_len, &args, &args_len, &args_cur,
                       " -o StrictHostKeyChecking=ask");

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

wdlkmpx avatar Jun 28 '20 02:06 wdlkmpx

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.

wdlkmpx avatar Jun 28 '20 16:06 wdlkmpx