「git」ユーザーを作成し、gitユーザーディレクトリにローカルストアを作成してgitサーバーを設定しました。
gitサーバーはうまく機能し、プル、プッシュなどができます。ユーザーが公開鍵を追加してこれを実行できるようにします。
.ssh/authorized_keys
文書。パスワードベースのログインを無効にしました。ただし、問題は、これらのユーザーのキーが認証されたキーのリストにあるため、SSHを介してサーバーにログインできることです。もちろん、gitユーザーには権限設定がかなり制限されていますが、gitが直接ログインできない場合はまだ好みます。
「git」ユーザーのログインを無効にするが、git / sshを介してプッシュとプールを許可するgitユーザーの機能を維持する方法はありますか?
ベストアンサー1
これを使用して、git-shell
SSHユーザーアカウントへのアクセスを制限できます。 ~からドキュメントページ:
制限されたGitアクセスを提供するために使用されるSSHアカウントのログインシェル。プル/プッシュ機能を実装するサーバー側のGitコマンドと、ユーザーホームディレクトリのgit-shell-commandsというサブディレクトリにあるカスタムコマンドのみを実行できます。
git-shell
デフォルトは非対話型です。ユーザーのデフォルトシェルを次に設定すると、git-shell
ユーザーが機能を維持しながら対話的にサーバーにログインするのを防ぎますgit
。ある程度カスタマイズできます。これは同じページの「例」セクションに記載されています。
git-shell
gitでインストールする必要があります/usr/bin/git-shell
。以下を使用して、ユーザーをデフォルトのシェルに設定できますusermod
。
usermod -s /usr/bin/git-shell username