[GH-ISSUE #5935] Web vault: The same SSH key is always inserted #2290

Closed
opened 2026-03-03 02:16:57 +03:00 by kerem · 5 comments
Owner

Originally created by @sbdiun on GitHub (Jun 6, 2025).
Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/5935

Vaultwarden Support String

Your environment (Generated via diagnostics page)

  • Vaultwarden version: v1.34.1
  • Web-vault version: v2025.5.0
  • OS/Arch: linux/x86_64
  • Running within a container: true (Base: Alpine)
  • Database type: MySQL
  • Database version: 8.0.41
  • Uses config.json: false
  • Uses a reverse proxy: true
  • IP Header check: false (X-Forwarded-For)
  • Internet access: true
  • Internet access via a proxy: false
  • DNS Check: true
  • TZ environment: Europe/Berlin
  • Browser/Server Time Check: true
  • Server/NTP Time Check: true
  • Domain Configuration Check: true
  • HTTPS Check: true
  • Websocket Check: false
  • HTTP Response Checks: true

Config & Details (Generated via diagnostics page)

Show Config & Details

Config:

{
  "_duo_akey": null,
  "_enable_duo": true,
  "_enable_email_2fa": true,
  "_enable_smtp": true,
  "_enable_yubico": true,
  "_icon_service_csp": "",
  "_icon_service_url": "",
  "_ip_header_enabled": true,
  "_max_note_size": 10000,
  "_smtp_img_src": "***:",
  "admin_ratelimit_max_burst": 3,
  "admin_ratelimit_seconds": 300,
  "admin_session_lifetime": 20,
  "admin_token": "***",
  "allowed_connect_src": "",
  "allowed_iframe_ancestors": "",
  "attachments_folder": "data/attachments",
  "auth_request_purge_schedule": "30 * * * * *",
  "authenticator_disable_time_drift": false,
  "data_folder": "data",
  "database_conn_init": "",
  "database_max_conns": 10,
  "database_timeout": 30,
  "database_url": "*****://**********************************************************************************************",
  "db_connection_retries": 15,
  "disable_2fa_remember": false,
  "disable_admin_token": false,
  "disable_icon_download": false,
  "domain": "*****://*****************************",
  "domain_origin": "*****://*****************************",
  "domain_path": "",
  "domain_set": true,
  "duo_context_purge_schedule": "30 * * * * *",
  "duo_host": null,
  "duo_ikey": null,
  "duo_skey": null,
  "duo_use_iframe": false,
  "email_2fa_auto_fallback": false,
  "email_2fa_enforce_on_verified_invite": false,
  "email_attempts_limit": 3,
  "email_change_allowed": true,
  "email_expiration_time": 600,
  "email_token_size": 6,
  "emergency_access_allowed": true,
  "emergency_notification_reminder_schedule": "0 3 * * * *",
  "emergency_request_timeout_schedule": "0 7 * * * *",
  "enable_db_wal": true,
  "enable_websocket": true,
  "enforce_single_org_with_reset_pw_policy": false,
  "event_cleanup_schedule": "0 10 0 * * *",
  "events_days_retain": 3650,
  "experimental_client_feature_flags": "",
  "extended_logging": true,
  "helo_name": null,
  "hibp_api_key": null,
  "http_request_block_non_global_ips": true,
  "http_request_block_regex": null,
  "icon_blacklist_non_global_ips": true,
  "icon_blacklist_regex": null,
  "icon_cache_folder": "data/icon_cache",
  "icon_cache_negttl": 7776000,
  "icon_cache_ttl": 0,
  "icon_download_timeout": 30,
  "icon_redirect_code": 302,
  "icon_service": "internal",
  "incomplete_2fa_schedule": "30 * * * * *",
  "incomplete_2fa_time_limit": 3,
  "increase_note_size_limit": false,
  "invitation_expiration_hours": 120,
  "invitation_org_name": "Vaultwarden",
  "invitations_allowed": true,
  "ip_header": "X-Real-IP",
  "job_poll_interval_ms": 30000,
  "log_file": null,
  "log_level": "info,vaultwarden::api::core::events=debug",
  "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f",
  "login_ratelimit_max_burst": 120,
  "login_ratelimit_seconds": 5,
  "org_attachment_limit": 100000,
  "org_creation_users": "**********************************,*****************************,******************************",
  "org_events_enabled": true,
  "org_groups_enabled": true,
  "password_hints_allowed": true,
  "password_iterations": 600000,
  "push_enabled": false,
  "push_identity_uri": "https://identity.bitwarden.com",
  "push_installation_id": "***",
  "push_installation_key": "***",
  "push_relay_uri": "https://push.bitwarden.com",
  "reload_templates": false,
  "require_device_email": false,
  "rsa_key_filename": "data/rsa_key",
  "send_purge_schedule": "0 5 * * * *",
  "sendmail_command": null,
  "sends_allowed": true,
  "sends_folder": "data/sends",
  "show_password_hint": false,
  "signups_allowed": false,
  "signups_domains_whitelist": "",
  "signups_verify": false,
  "signups_verify_resend_limit": 6,
  "signups_verify_resend_time": 3600,
  "smtp_accept_invalid_certs": false,
  "smtp_accept_invalid_hostnames": false,
  "smtp_auth_mechanism": "Login",
  "smtp_debug": false,
  "smtp_embed_images": true,
  "smtp_explicit_tls": null,
  "smtp_from": "*************************",
  "smtp_from_name": "Vaultwarden IT Service",
  "smtp_host": "******************",
  "smtp_password": "***",
  "smtp_port": 587,
  "smtp_security": "starttls",
  "smtp_ssl": null,
  "smtp_timeout": 15,
  "smtp_username": "************************************",
  "templates_folder": "data/templates",
  "tmp_folder": "data/tmp",
  "trash_auto_delete_days": 30,
  "trash_purge_schedule": "0 5 0 * * *",
  "use_sendmail": false,
  "use_syslog": false,
  "user_attachment_limit": 10000,
  "user_send_limit": 20000,
  "web_vault_enabled": true,
  "web_vault_folder": "web-vault/",
  "yubico_client_id": "105067",
  "yubico_secret_key": "***",
  "yubico_server": null
}

Vaultwarden Build Version

1.34.1

Deployment method

Official Container Image

Custom deployment method

No response

Reverse Proxy

Apache/2.4.62 (AlmaLinux)

Host/Server Operating System

Linux

Operating System Version

AlmaLinux 9.6 (Sage Margay)

Clients

Web Vault

Client Version

v2025.5.0

Steps To Reproduce

  1. copy a openssh key to clipboard
  2. create new SSH key in Vaultwarden
    The key will be shown, including public key and fingerprint.
  3. copy another openssh key to clipboard
  4. create another new SSH key
    The previous key is set as content like in the first entry.

Expected Result

The last copied key is entered.

Or, at least in the Bitwarden desktop client, there is a “Copy key from clipboard” button that can be used to set the content.

Actual Result

Previous key is the content.
No button to override this.

Logs


Screenshots or Videos

No response

Additional Context

Image

Originally created by @sbdiun on GitHub (Jun 6, 2025). Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/5935 ### Vaultwarden Support String ### Your environment (Generated via diagnostics page) * Vaultwarden version: v1.34.1 * Web-vault version: v2025.5.0 * OS/Arch: linux/x86_64 * Running within a container: true (Base: Alpine) * Database type: MySQL * Database version: 8.0.41 * Uses config.json: false * Uses a reverse proxy: true * IP Header check: false (X-Forwarded-For) * Internet access: true * Internet access via a proxy: false * DNS Check: true * TZ environment: Europe/Berlin * Browser/Server Time Check: true * Server/NTP Time Check: true * Domain Configuration Check: true * HTTPS Check: true * Websocket Check: false * HTTP Response Checks: true ### Config & Details (Generated via diagnostics page) <details><summary>Show Config & Details</summary> **Config:** ```json { "_duo_akey": null, "_enable_duo": true, "_enable_email_2fa": true, "_enable_smtp": true, "_enable_yubico": true, "_icon_service_csp": "", "_icon_service_url": "", "_ip_header_enabled": true, "_max_note_size": 10000, "_smtp_img_src": "***:", "admin_ratelimit_max_burst": 3, "admin_ratelimit_seconds": 300, "admin_session_lifetime": 20, "admin_token": "***", "allowed_connect_src": "", "allowed_iframe_ancestors": "", "attachments_folder": "data/attachments", "auth_request_purge_schedule": "30 * * * * *", "authenticator_disable_time_drift": false, "data_folder": "data", "database_conn_init": "", "database_max_conns": 10, "database_timeout": 30, "database_url": "*****://**********************************************************************************************", "db_connection_retries": 15, "disable_2fa_remember": false, "disable_admin_token": false, "disable_icon_download": false, "domain": "*****://*****************************", "domain_origin": "*****://*****************************", "domain_path": "", "domain_set": true, "duo_context_purge_schedule": "30 * * * * *", "duo_host": null, "duo_ikey": null, "duo_skey": null, "duo_use_iframe": false, "email_2fa_auto_fallback": false, "email_2fa_enforce_on_verified_invite": false, "email_attempts_limit": 3, "email_change_allowed": true, "email_expiration_time": 600, "email_token_size": 6, "emergency_access_allowed": true, "emergency_notification_reminder_schedule": "0 3 * * * *", "emergency_request_timeout_schedule": "0 7 * * * *", "enable_db_wal": true, "enable_websocket": true, "enforce_single_org_with_reset_pw_policy": false, "event_cleanup_schedule": "0 10 0 * * *", "events_days_retain": 3650, "experimental_client_feature_flags": "", "extended_logging": true, "helo_name": null, "hibp_api_key": null, "http_request_block_non_global_ips": true, "http_request_block_regex": null, "icon_blacklist_non_global_ips": true, "icon_blacklist_regex": null, "icon_cache_folder": "data/icon_cache", "icon_cache_negttl": 7776000, "icon_cache_ttl": 0, "icon_download_timeout": 30, "icon_redirect_code": 302, "icon_service": "internal", "incomplete_2fa_schedule": "30 * * * * *", "incomplete_2fa_time_limit": 3, "increase_note_size_limit": false, "invitation_expiration_hours": 120, "invitation_org_name": "Vaultwarden", "invitations_allowed": true, "ip_header": "X-Real-IP", "job_poll_interval_ms": 30000, "log_file": null, "log_level": "info,vaultwarden::api::core::events=debug", "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f", "login_ratelimit_max_burst": 120, "login_ratelimit_seconds": 5, "org_attachment_limit": 100000, "org_creation_users": "**********************************,*****************************,******************************", "org_events_enabled": true, "org_groups_enabled": true, "password_hints_allowed": true, "password_iterations": 600000, "push_enabled": false, "push_identity_uri": "https://identity.bitwarden.com", "push_installation_id": "***", "push_installation_key": "***", "push_relay_uri": "https://push.bitwarden.com", "reload_templates": false, "require_device_email": false, "rsa_key_filename": "data/rsa_key", "send_purge_schedule": "0 5 * * * *", "sendmail_command": null, "sends_allowed": true, "sends_folder": "data/sends", "show_password_hint": false, "signups_allowed": false, "signups_domains_whitelist": "", "signups_verify": false, "signups_verify_resend_limit": 6, "signups_verify_resend_time": 3600, "smtp_accept_invalid_certs": false, "smtp_accept_invalid_hostnames": false, "smtp_auth_mechanism": "Login", "smtp_debug": false, "smtp_embed_images": true, "smtp_explicit_tls": null, "smtp_from": "*************************", "smtp_from_name": "Vaultwarden IT Service", "smtp_host": "******************", "smtp_password": "***", "smtp_port": 587, "smtp_security": "starttls", "smtp_ssl": null, "smtp_timeout": 15, "smtp_username": "************************************", "templates_folder": "data/templates", "tmp_folder": "data/tmp", "trash_auto_delete_days": 30, "trash_purge_schedule": "0 5 0 * * *", "use_sendmail": false, "use_syslog": false, "user_attachment_limit": 10000, "user_send_limit": 20000, "web_vault_enabled": true, "web_vault_folder": "web-vault/", "yubico_client_id": "105067", "yubico_secret_key": "***", "yubico_server": null } ``` </details> ### Vaultwarden Build Version 1.34.1 ### Deployment method Official Container Image ### Custom deployment method _No response_ ### Reverse Proxy Apache/2.4.62 (AlmaLinux) ### Host/Server Operating System Linux ### Operating System Version AlmaLinux 9.6 (Sage Margay) ### Clients Web Vault ### Client Version v2025.5.0 ### Steps To Reproduce 1. copy a openssh key to clipboard 2. create new SSH key in Vaultwarden The key will be shown, including public key and fingerprint. 3. copy another openssh key to clipboard 4. create another new SSH key The previous key is set as content like in the first entry. ### Expected Result The last copied key is entered. Or, at least in the Bitwarden desktop client, there is a “Copy key from clipboard” button that can be used to set the content. ### Actual Result Previous key is the content. No button to override this. ### Logs ```text ``` ### Screenshots or Videos _No response_ ### Additional Context ![Image](https://github.com/user-attachments/assets/645ae725-df30-403a-a8dd-8a9dc8a9c3d3)
kerem 2026-03-03 02:16:57 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@sbdiun commented on GitHub (Jun 6, 2025):

The inserted image shows the first key, even though an RSA key has already been copied to the clipboard.
I hope that, even though it is in German, you can see that there is no button to reload the value from the clipboard.

<!-- gh-comment-id:2948390228 --> @sbdiun commented on GitHub (Jun 6, 2025): The inserted image shows the first key, even though an RSA key has already been copied to the clipboard. I hope that, even though it is in German, you can see that there is no button to reload the value from the clipboard.
Author
Owner

@stefan0xC commented on GitHub (Jun 6, 2025):

I don't understand the issue. What does copying an OpenSSH key into the clipboard has to do with creating a new SSH key via the web-vault? I don't think that the web-vault acts the same as the Bitwarden Desktop app in this regard (as it will always create a new SSH key as far as I've tested it and not the same one). According to https://bitwarden.com/help/ssh-agent/#import-key-to-bitwarden importing keys from clipboard is only available in the desktop app.

<!-- gh-comment-id:2948534098 --> @stefan0xC commented on GitHub (Jun 6, 2025): I don't understand the issue. What does copying an OpenSSH key into the clipboard has to do with creating a new SSH key via the web-vault? I don't think that the web-vault acts the same as the Bitwarden Desktop app in this regard (as it will always create a new SSH key as far as I've tested it and not the same one). According to https://bitwarden.com/help/ssh-agent/#import-key-to-bitwarden importing keys from clipboard is only available in the desktop app.
Author
Owner

@sbdiun commented on GitHub (Jun 6, 2025):

I apologize if I misunderstood something.
As I understand it, inserting an SSH key means creating it as an entry in the vault, not as a key for the web vault itself, like storing an identity or access in the vault.

We have several SSH keys to access different servers, which I wanted to store in Vaultwarden, and that's exactly what doesn't work because I only ever see the one.

It wasn't about generating a new key.

If that's wrong, then I apologize.

<!-- gh-comment-id:2948617538 --> @sbdiun commented on GitHub (Jun 6, 2025): I apologize if I misunderstood something. As I understand it, inserting an SSH key means creating it as an entry in the vault, not as a key for the web vault itself, like storing an identity or access in the vault. We have several SSH keys to access different servers, which I wanted to store in Vaultwarden, and that's exactly what doesn't work because I only ever see the one. It wasn't about generating a new key. If that's wrong, then I apologize.
Author
Owner

@sbdiun commented on GitHub (Jun 6, 2025):

From this side: https://bitwarden.com/help/managing-items/
"There are five types of items you can store in your vault; logins, cards, identities, secure notes, and SSH keys:"

<!-- gh-comment-id:2948621918 --> @sbdiun commented on GitHub (Jun 6, 2025): From this side: https://bitwarden.com/help/managing-items/ "There are five types of items you can store in your vault; logins, cards, identities, secure notes, and SSH keys:"
Author
Owner

@sbdiun commented on GitHub (Jun 6, 2025):

ok, I understand now.
It's possible to import keys via Destop App, but in Web-vault, it always create a new one.

<!-- gh-comment-id:2948723174 --> @sbdiun commented on GitHub (Jun 6, 2025): ok, I understand now. It's possible to import keys via Destop App, but in Web-vault, it always create a new one.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/vaultwarden#2290
No description provided.