diff options
author | Dmitry Sharshakov <d3dx12.xx@gmail.com> | 2023-04-10 20:22:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-10 13:22:51 -0400 |
commit | eb397c3e631099686f8c11cbd0ca303fd37908ba (patch) | |
tree | 3b96a10c8ef3ccd06f958ab471db420d596d11e5 | |
parent | d7552c27d38f5ad342fe1c17cedfb6e22ba4d5d8 (diff) | |
download | gitea-eb397c3e631099686f8c11cbd0ca303fd37908ba.tar.gz gitea-eb397c3e631099686f8c11cbd0ca303fd37908ba.zip |
Allow adding SSH keys even if SSH server is disabled (#24025)
This is useful in case you want to use them for signature verification.
A notice is added to avoid confusion.
-rw-r--r-- | models/asymkey/ssh_key_parse.go | 5 | ||||
-rw-r--r-- | options/locale/locale_en-US.ini | 1 | ||||
-rw-r--r-- | templates/user/settings/keys_ssh.tmpl | 15 |
3 files changed, 9 insertions, 12 deletions
diff --git a/models/asymkey/ssh_key_parse.go b/models/asymkey/ssh_key_parse.go index 8693c87e76..7e61e61dae 100644 --- a/models/asymkey/ssh_key_parse.go +++ b/models/asymkey/ssh_key_parse.go @@ -16,7 +16,6 @@ import ( "strconv" "strings" - "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/process" "code.gitea.io/gitea/modules/setting" @@ -158,10 +157,6 @@ func parseKeyString(content string) (string, error) { // CheckPublicKeyString checks if the given public key string is recognized by SSH. // It returns the actual public key line on success. func CheckPublicKeyString(content string) (_ string, err error) { - if setting.SSH.Disabled { - return "", db.ErrSSHDisabled{} - } - content, err = parseKeyString(content) if err != nil { return "", err diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 7e9675ee73..bd7e64fc6d 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -739,6 +739,7 @@ principal_state_desc = This principal has been used in the last 7 days show_openid = Show on profile hide_openid = Hide from profile ssh_disabled = SSH Disabled +ssh_signonly = SSH is currently disabled so these keys are only used for commit signature verification. ssh_externally_managed = This SSH key is externally managed for this user manage_social = Manage Associated Social Accounts social_desc = These social accounts are linked to your Gitea account. Make sure you recognize all of them as they can be used to sign in to your Gitea account. diff --git a/templates/user/settings/keys_ssh.tmpl b/templates/user/settings/keys_ssh.tmpl index 5d518f3bb0..160dedc93c 100644 --- a/templates/user/settings/keys_ssh.tmpl +++ b/templates/user/settings/keys_ssh.tmpl @@ -1,13 +1,9 @@ <h4 class="ui top attached header"> {{.locale.Tr "settings.manage_ssh_keys"}} <div class="ui right"> - {{if not .DisableSSH}} - <button id="add-ssh-button" class="ui primary tiny show-panel button" data-panel="#add-ssh-key-panel"> - {{.locale.Tr "settings.add_key"}} - </button> - {{else}} - <button class="ui primary tiny button disabled">{{.locale.Tr "settings.ssh_disabled"}}</button> - {{end}} + <button id="add-ssh-button" class="ui primary tiny show-panel button" data-panel="#add-ssh-key-panel"> + {{.locale.Tr "settings.add_key"}} + </button> </div> </h4> <div class="ui attached segment"> @@ -35,6 +31,11 @@ <div class="item"> {{.locale.Tr "settings.ssh_desc"}} </div> + {{if .DisableSSH}} + <div class="item"> + {{.locale.Tr "settings.ssh_signonly"}} + </div> + {{end}} {{range $index, $key := .Keys}} <div class="item"> <div class="right floated content"> |