It’s Cybersecurity Awareness Month! Join our interactive training session, or learn about security and AI from 1Password experts.
SSH
549 TopicsSupport for SSH Certificates (2024)
This question came up a couple of times in 2022, but it didn't look like anything was resolved. Since it's been two years... For those unfamiliar with the concept, SSH certificates are host and user public keys, signed by your own internal SSH CA, that ease key approval and distribution, especially in large-scale environments. Once a user has created a public-private key-pair, the public key is signed by an (internal) SSH CA. The user then uses ssh-add to add the public key and, if present, the certificate file to the user's ssh agent. https://smallstep.com/blog/use-ssh-certificates/ of how SSH certificates work. Using stock ssh-add and ssh-agent on Mac OS 14, we can see the public key and certificate both being added to the agent: $ /usr/bin/ssh-add .ssh/id_ed25519 Enter passphrase for .ssh/id_ed25519: Identity added: .ssh/id_ed25519 (<REDACTED>) Certificate added: .ssh/id_ed25519-cert.pub (chris) A remote host, when properly configured, will verify that my user certificate has not expired (expiration and inception times) and was issued by a trusted CA, whose key would have already been added to the server. This eliminates the need for me to maintain an authorized_keys file on the remote end. I was hoping to be able to store these keys in 1Password. That certainly works; however, 1Password does not support certificates in neither the user interface nor the ssh agent. 1Password derives public keys from private keys but does not provide a way for the user to upload the certificate file, above and beyond attaching an arbitrary file. The ssh agent behind the scenes presumably also does not support certificates. For the moment, I have configured my ssh client to use the stock ssh-agent for the host that uses certificates, while everything else can go through 1Password. Are there any plans to add support to the 1Password user interface and to the underlying ssh agent for certificates? Thanks! 1Password Version: 8.10 Extension Version: Not Provided OS Version: macOS 14.2.1 Browser: Not Provided805Views13likes7Comments1Password fails to prompt for approval when using Hyprland
I am using Hyprland, a dynamic Wayland compositor. When I execute git commit -m "chore: initial commit :tada:" I do not see a prompt. The behavior repeats for regular ssh commands as well. I did some searching but could not find anything specific about this issue anywhere else, so I am posting here. I guess this has something to do with Hyprland being incorrectly identified as Sway somehow. My debug logs show the following: DEBUG 2025-01-23T15:43:15.270+00:00 runtime-worker(ThreadId(16)) [1P:ssh/op-ssh-agent/src/lib.rs:261] connection received DEBUG 2025-01-23T15:43:15.271+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#266(get_all_ssh_pubkeys)) DEBUG 2025-01-23T15:43:15.271+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#267(get_ssh_pubkey)) DEBUG 2025-01-23T15:43:15.271+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#268(save_ssh_pubkey)) DEBUG 2025-01-23T15:43:15.285+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#269(get_ssh_pubkey)) DEBUG 2025-01-23T15:43:15.285+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#270(save_ssh_pubkey)) DEBUG 2025-01-23T15:43:15.290+00:00 runtime-worker(ThreadId(3)) [1P:ssh/op-ssh-agent/src/lib.rs:541] Handling SSH agent message: RequestIdentities DEBUG 2025-01-23T15:43:15.291+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#271(get_all_ssh_pubkeys)) DEBUG 2025-01-23T15:43:15.291+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#272(get_all_ssh_pubkeys)) DEBUG 2025-01-23T15:43:15.291+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#273(get_ssh_pubkey)) DEBUG 2025-01-23T15:43:15.291+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#274(save_ssh_pubkey)) DEBUG 2025-01-23T15:43:15.296+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#275(get_ssh_pubkey)) DEBUG 2025-01-23T15:43:15.296+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#276(save_ssh_pubkey)) DEBUG 2025-01-23T15:43:15.301+00:00 runtime-worker(ThreadId(16)) [1P:ssh/op-ssh-agent/src/lib.rs:541] Handling SSH agent message: SignRequest DEBUG 2025-01-23T15:43:15.302+00:00 runtime-worker(ThreadId(16)) [1P:foundation/op-linux-window/src/linux.rs:40] failed to connect to swaywm DEBUG 2025-01-23T15:43:15.303+00:00 runtime-worker(ThreadId(16)) [1P:ssh/op-ssh-agent/src/lib.rs:570] process info for client: SessionProcess { pid: 26152, tty_pid: Some(26153), executable_path: /usr/bin/foot, command_line: <Vec < String >>, application_name: <Option < String >>, application_icon: <Option < PathBuf >>, bundle_id: <Option < String >>, freedesktop_file: None } DEBUG 2025-01-23T15:43:15.303+00:00 ThreadId(22) [1P:data/op-db/src/core_db/transaction.rs:66] COMMIT(tx#277(get_all_ssh_pubkeys)) DEBUG 2025-01-23T15:43:15.426+00:00 runtime-worker(ThreadId(16)) [1P:app/op-app/src/app/backend.rs:360] Invoked: Config DEBUG 2025-01-23T15:43:15.431+00:00 ThreadId(22) [1P:data/op-db/src/resources_db/transaction.rs:32] COMMIT(tx#114(resource)) INFO 2025-01-23T15:44:15.272+00:00 runtime-worker(ThreadId(10)) [1P:ssh/op-ssh-agent/src/lib.rs:380] ssh authorization prompt timed out DEBUG 2025-01-23T15:44:15.272+00:00 runtime-worker(ThreadId(10)) [1P:ssh/op-ssh-agent/src/lib.rs:895] Cannot broadcast authorization prompt result; channel closed 1Password gets the request but fails to open the approval window due to the fact that it is trying to connect to swaywm . FYI: I can connect to the 1Password SSH agent from the terminal, already verified that by looking at a few other community threads. Is there anything I can do to help further debug or fix this issue? Not sure if this code is open so I can do a PR, but I would be more than happy to do so. Any help appreciated! Thank you. 1Password Version: 8.10.54 Extension Version: 8.10.56.28 OS Version: Arch Linux 6.12.10-arch1-1 Browser: Not ProvidedSolved933Views3likes10Commentsop-ssh-sign is very slow
First of all, the SSH Agent is very nice! Thanks for this awesome feature. Just wondering, the op-ssh-sign feels very slow and sluggish to me. Especially when i'm using it for commit signing operations. i don't know if op-ssh-sign is the issue or if it's the ssh-agent. Signing a commit may take several seconds. 1Password Version: 8.10.16 Extension Version: Not Provided OS Version: Arch Linux Browser: Not Provided365Views3likes4CommentsFeature idea: when creating ssh keys, consider option to auto add comment to end of public key
When copying and pasting public keys to remote servers it is helpful if they include a comment to easily identify keys when reviewing authorized_keys Under Developer options consider having a flag to auto-add comment to key so if generating a key for "web apps server bronze 2022" it might add a comment at end: == 1password-web-apps-server-bronze-2022 Alternatively you could have a ssh comment field in 1password and whatever user defines is automatically added to end of public key. 1Password Version: 8 Extension Version: Not Provided OS Version: Not ProvidedSolved721Views3likes4Commentsssh agent errors on older Cisco devices
It looks like there is an issue with the SSH agent when connecting to equipment using ssh-rsa for the host keys. Using ssh-rsa auth keys works fine, I am able to use the same key to connect to Ubuntu machines and other newer equipment. This is the error I get when connecting to a Cisco switch running IOS 15.2(7)E5: debug1: Offering public key: /Users/user/.ssh/id_rsa RSA SHA256:hash agent debug3: send packet: type 50 debug2: we sent a publickey packet, wait for reply debug3: receive packet: type 60 debug1: Server accepts key: /Users/user/.ssh/id_rsa RSA SHA256:hash agent debug3: sign_and_send_pubkey: using publickey with RSA SHA256:hash debug3: sign_and_send_pubkey: signing using ssh-rsa SHA256:hash sign_and_send_pubkey: signing failed for RSA "/Users/user/.ssh/id_rsa" from agent: agent refused operation This is what the 1Password log shows: WARN 2024-12-03T21:51:12.504+00:00 runtime-worker(ThreadId(8)) [1P:ssh/op-ssh-keys/src/private_key.rs:196] signing with ssh-rsa; SHA-1 may be insecure ERROR 2024-12-03T21:51:12.504+00:00 runtime-worker(ThreadId(8)) [1P:/Users/build/4kwQZK_M/0/dev/core/core/ssh/op-ssh-agent/src/lib.rs:665] Error handling sign request: UnsupportedOperation ERROR 2024-12-03T21:58:15.937+00:00 runtime-worker(ThreadId(2)) [1P:/Users/build/4kwQZK_M/0/dev/core/core/ssh/op-ssh-agent/src/lib.rs:665] Error handling sign request: UnsupportedOperation These are required configs to connect to these switches in the ssh config file: HostKeyAlgorithms +ssh-rsa PubkeyAcceptedKeyTypes +ssh-rsa Is there a way to connect to these older devices with the 1Password agent? For now I am using the -i flag and supplying my original key file as a workaround. I'm really trying to get rid of these key files on my machine now. 1Password Version: 8.10.54 Extension Version: Not Provided OS Version: macOS 15.1.1 Browser: Not Provided144Views2likes2CommentsCan't export SSH private key with empty passphrase in Android
I'm using the 1Password Android app version 8.10.54 When exporting an SSH private key, a dialog appears asking the me to enter a passphrase to encrypt the exported key. In the dialog, it states that if you leave the passphrase empty, the exported key will be in plain text. However, when I click the "Copy Private Key Without Encryption" button below, the input box turns red and nothing else happens. It seems like the input box is incorrectly set to require an entry. In the Mac version of 1Password, the "Copy Private Key Unencrypted" button works perfectly, so I believe it's a bug in the Android version. 1Password Version: 8.10.54 Extension Version: Not Provided OS Version: Android 14 One UI 6.1.1 Browser: Not Provided59Views2likes0CommentsSSH Agent not working after 8.10.54 update
After updating from 8.10.52 to 8.10.54 SSH Agent is no longer working as expected, and issue persists in the 8.10.56 beta update When attempting to SSH into a server, prompt appears and request is approved, but SSH client gets an error from the agent sign_and_send_pubkey: signing failed for RSA "SSH Key" from agent: agent refused operation Have also attempted enabling/disabling ssh agent, reinstalling 1Password etc Issue also occurs for other users in my business account 1Password Version: 8.5.52 Extension Version: Not Provided OS Version: Mac 15.1 Browser: Not Provided193Views2likes5Comments[wayland] signign failed: communication with agent failed
similar to what has been reported in https://1password.community/discussion/comment/630417 ssh -T git@github.zattoo.com sign_and_send_pubkey: signing failed for ED25519 "id_ed25519" from agent: communication with agent failed git@github.zattoo.com: Permission denied (publickey). This is what I see in $HOME/.config/1Password/logs/1Password_rCURRENT.log INFO 2024-09-10T08:34:31.842+00:00 tokio-runtime-worker(ThreadId(121)) [1P:foundation/op-system-auth/src/lib.rs:327] Biometry is available for 1 or more accounts INFO 2024-09-10T08:35:31.795+00:00 tokio-runtime-worker(ThreadId(7)) [1P:ssh/op-ssh-agent/src/lib.rs:366] ssh authorization prompt timed out openssh version: 9.8p1-1 1Password Version: 8.10.44-34 Extension Version: 8.10.44.34 OS Version: archlinux Browser: Brave123Views2likes0Comments