Ssh

Gitea 提供了錯誤的 SSH 密鑰

  • August 9, 2021

我在可公開訪問的虛擬機上執行 Gitea gitea.myorg.foo。這是與我的配置文件的 SSH 配置相關的伺服器部分:

[server]                                                                                                                       
SSH_DOMAIN       = gitea.myorg.foo                                                                                            
DOMAIN           = gitea.myorg.foo                                                                                            
ROOT_URL         = https://gitea.myorg.foo/                                                                                   
DISABLE_SSH      = false                                                                                                       
SSH_PORT         = 22                                                                                                                                                                                                                                                                                                     
OFFLINE_MODE     = false

這意味著我執行的是伺服器的 sshd,而不是 Gitea 的內部 sshd。

伺服器在名為 的使用者下執行git。在/home/git/.ssh/authorized_keys中,列出了授權密鑰(每個使用者和部署密鑰)。

不幸的是,當我嘗試複製啟用了該部署密鑰的儲存庫時,未提供部署密鑰。

假設我想複製git@gitea.myorg.foo/org/repo.git,我得到一個簽名與 Web UI 中“部署密鑰”下顯示的簽名完全不同的密鑰。當我執行時ssh-keyscan gitea.myorg.foo,我只得到簽名中找不到/home/git/.ssh/authorized_keys

如何確定和配置 SSH 提供給客戶端的密鑰?

編輯:我注意到提供的密鑰是標記為HostKey定義的密鑰/etc/ssh/sshd_config。我需要使用 Gitea 的內部 SSH 伺服器,還是可以相應地配置我的本地 SSH 伺服器?

我混淆了主機密鑰和我的部署密鑰。返回主機密鑰是完全可以的。但是,我錯誤地依賴於.knwon_hosts文件中的部署密鑰,而我應該使用主機密鑰。

引用自:https://serverfault.com/questions/1073744