keybase / client

Keybase Go Library, Client, Service, OS X, iOS, Android, Electron
BSD 3-Clause "New" or "Revised" License
8.92k stars 1.23k forks source link

[Linux] fall-back to cmd line login broken in v1.0.18-20170206170059+4931777: ERROR Failed to get getpin greeting: EOF #5706

Open RoCaKo opened 7 years ago

RoCaKo commented 7 years ago

Situation:

This morning I tried to login on one of my linux machines and received the following error: ▶ ERROR Failed to get getpin greeting: EOF

I thought that maybe I needed to update, so I did. This resulted in: ▶ WARNING Restarting after upgrade; service is running v1.0.18-20170201170258+dc90cf4, while v1.0.18-20170206170059+4931777 is available ▶ INFO Restarting service... ▶ INFO Forking background server with pid=15259 ▶ ERROR Failed to get getpin greeting: EOF

As it turns out, apparently I can NOT login if I don't have an X-server running with the current version! Using ssh without X-forwarding and running run_keybase I am able to login.

In some previous versions it didn't behave like that. When I had accidentally forgotten to start Xming or VcXrv (on Machine B), keybase would fall-back to the command line. Giving me: Please enter the Keybase passphrase for rowena (12+ characters):

I'm not sure at which version it broke as I trust my headless box enough to leave keybase logged in on it.

I cleared the logs before making a clean attempt, I did NOT clear the caches in ~/.config/Keybase/ my log id: b5c5899ec4b2e9dd892dff1c

maxtaco commented 7 years ago

Seem like you are having pinentry problems. Disable it with this command:

keybase config set pinentry.path none
RoCaKo commented 7 years ago

Thanks @maxtaco

While disabling pinentry is an option, I expected some more "sensible" error. (Which was the reason for posting this issue). PuTTY X11 proxy does detect normal attempts to connect to the forwarded X server. And a lot of programs will complain themselves on top of that.

For example (opening gedit):

PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused (gedit:21897): WARNING : Could not open X display

I doubt that setting the pinentry.path to none is the best approach in this case. I couldn't find what the path should point to originally, so reversing it might be tricky. The docs say I should use it as follows: keybase --pinentry=none login To make that configuration permanent, I could run: keybase config set -b pinentry.disabled true

RoCaKo commented 7 years ago

This is still more or less an issue, I can login and type my password, but the console is spammed with:

▶ WARNING (CONN keybase service aab1726f) Connection: error calling OnConnect handler: not logged in, not attempting authentication

It is also still a nuisance that kbfs still needs a GUI to login. (Will reply to the issue there too).

maxtaco commented 7 years ago

CC: @mmaxim

Yeah, we have a ticket for this, we need to fix it...

mmaxim commented 7 years ago

This is like a two line change, let me try and get that today.

zanona commented 5 years ago

Unfortunately I just uninstalled keybase from my machine running Arch linux after facing this issue and not being able to generate a new key since it would always end with this message.

Strangely enough, after having this issue popping up with keybase gen once logging out I couldn't even login again with keybase login it would always display this message.