gitユーザーがログインするのを防ぎますが、そのユーザーが引き続きgitリポジトリとして機能することを許可しますか?

gitユーザーがログインするのを防ぎますが、そのユーザーが引き続きgitリポジトリとして機能することを許可しますか?

「git」ユーザーを作成し、gitユーザーディレクトリにローカルストアを作成してgitサーバーを設定しました。

gitサーバーはうまく機能し、プル、プッシュなどができます。ユーザーが公開鍵を追加してこれを実行できるようにします。

 .ssh/authorized_keys

文書。パスワードベースのログインを無効にしました。ただし、問題は、これらのユーザーのキーが認証されたキーのリストにあるため、SSHを介してサーバーにログインできることです。もちろん、gitユーザーには権限設定がかなり制限されていますが、gitが直接ログインできない場合はまだ好みます。

「git」ユーザーのログインを無効にするが、git / sshを介してプッシュとプールを許可するgitユーザーの機能を維持する方法はありますか?

ベストアンサー1

これを使用して、git-shellSSHユーザーアカウントへのアクセスを制限できます。 ~からドキュメントページ:

制限されたGitアクセスを提供するために使用されるSSHアカウントのログインシェル。プル/プッシュ機能を実装するサーバー側のGitコマンドと、ユーザーホームディレクトリのgit-shell-commandsというサブディレクトリにあるカスタムコマンドのみを実行できます。

git-shellデフォルトは非対話型です。ユーザーのデフォルトシェルを次に設定すると、git-shell ユーザーが機能を維持しながら対話的にサーバーにログインするのを防ぎますgit。ある程度カスタマイズできます。これは同じページの「例」セクションに記載されています。

git-shellgitでインストールする必要があります/usr/bin/git-shell。以下を使用して、ユーザーをデフォルトのシェルに設定できますusermod

usermod -s /usr/bin/git-shell username

おすすめ記事