-
Notifications
You must be signed in to change notification settings - Fork 76
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
U2F fails in batch mode #238
Comments
Also, the message "Touch the flashing U2F device to authenticate or press Enter to resume with the primary two factor authentication..." is sent to |
As far as I can see this issue, when user interaction is required in a batch mode we can either
|
I'd have expected batch-mode to be intended in programmatic use cases, and thus stdout probably wouldn't be the user's terminal. e.g. You can't use stdout when you're directing it to a pipe or file. IMHO you should be able to do:
without the backup including prompts from the authentication process. Also, the password prompt uses the user's terminal, not stdout, for unix (https://docs.python.org/3/library/getpass.html#getpass.getpass). It would be good to have the password auth and 2FA be consistent by 2FA prompts behaving the same as for getpass. |
The fix for this issue, PR #241 , doesn't appear to have been merged yet. Any idea when this might be done? |
The issue is still present with the new 'v3' authentication flow. Expected behaviour is that running in batch mode should send all auth flow to the console, such that one can run commands like |
The issue is still present as of release 16.8.4. The current Enterprise documentation implicitly requires a persistent login to work around having to provide authn via Expected behaviour is that running in batch mode should send all auth flow to the console, such that one can run commands like
without requiring a persistent session. That is, I want to reduce the window of valid authentication to just the specific invocation of the keeper client; not for some arbitrary period of time. (edit: I wrote earlier re. a concern that the persistent session could expire in the middle of a sequence of batch commands, however it appears that the timeout is an "idle timeout", not an absolute session timeout (undocumented); that is, the persistent session can effectively be extended indefinitely by way of a As a better workaround, it seems you can include the
|
The only acceptable The |
Why's that? How is interacting for a password any different than interacting for a password + MFA? Consider a passwordless future - the "interaction" may not even be on the console, it could be via my phone. Perhaps I should explain my use case better: my goal is to prepare a set of Keeper commands (batch commands) to be executed by a user. For example, a simple wrapper shell script that might look like this
The user does not need to know anything about the keeper CLI commands. All they need to do is run the script and enter their creds+MFA as prompted.
edit: actually: that doesn't work; Take 2:
(I'm sure there's a better way to force keeper to use the current tty; but really, should I have to?) However the workaround is fragile - if the script or batch commands fail, the persistent-login will not be nuked, and we'll have a nice backdoor hanging around. |
Also the Commander's commands can be stored to some file then
|
password does not use stdin it uses direct tty access |
Ah - thanks for the pointer re. No idea how I missed this when RTFM ;-) |
I'm not sure if it is documented but Commander is supposed to suppress command errors if commands start with
does not fail if the folder exists |
Now I see how I missed this in the doc: it's not really made obvious. There are a couple of issues with that feature, ref. #903 |
When using batch mode with a 2FA Yubikey enabled account, keeper prompts for the U2F touch however immediately falls through to a 2FA code prompt, as if "Enter" had been pressed.
env:
pip3
, per readmerepro:
--batch-mode shell
The text was updated successfully, but these errors were encountered: