私は、 の下でパブリックにアクセス可能な仮想マシン上で 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
これは、Gitea の内部 sshd ではなく、サーバーの sshd を実行していることを意味します。
サーバーは というユーザーの下で実行されますgit
。 には/home/git/.ssh/authorized_keys
、承認されたキー (ユーザーごとおよびデプロイメント キー) がリストされます。
残念ながら、デプロイメント キーが有効になっているリポジトリをクローンしようとしても、デプロイメント キーは提供されません。
をクローンしたいとします[email protected]/org/repo.git
。Web UIの「Deploy Keys」に表示されているものとはまったく異なる署名のキーが提供されます。 を実行するとssh-keyscan gitea.myorg.foo
、署名のみが取得されます。ないにあります/home/git/.ssh/authorized_keys
。
SSH がクライアントに提供しているキーを調べて設定するにはどうすればよいですか?
編集: 提供されているキーは、HostKey
で定義されているものとしてマークされているキーであることに気付きました/etc/ssh/sshd_config
。Gitea の内部 SSH サーバーを使用する必要がありますか、それともネイティブ SSH サーバーをそれに応じて構成できますか?
答え1
ホスト キーとデプロイメント キーを混同してしまいました。ホスト キーが返されてもまったく問題ありません。ただし、ホスト キーを使用するべきところを、ファイル内のデプロイメント キーに頼るというミスを犯してしまいました.knwon_hosts
。