gitHub が sshKey を使用してのみレポへのアクセスを制限する方法を探しています。誰もが「git」ユーザーを使用して接続しています...しかし、アクセスはあなたのリポジトリにのみ制限されています。
では、それはどのように可能ですか?
前もって感謝します。
GitHubはOpenSSHの機能を利用しています。sshd(8)のマニュアルページの「AUTHORIZED_KEYSファイル形式」のセクションを参照してください。authorized_keysファイルの各行は次のもので構成されていると書かれています。
<options> <keytype> <base64-encoded key> <comment>
サポートされているオプションの1つは次のcommandとおりです。
command="command"commandこのキーが認証に使用されるたび にが実行されることを指定します。ユーザーが指定したコマンド(存在する場合)は無視されます。
したがって、GitHubは~git/.ssh/authorized_keysファイルで次のようなことを行うことができます。
command="foo -u user1" <user1's key stuff here>
command="foo -u user2" <user2's key stuff here>
user1これで、ログインするたびにサーバーが実行されfoo -u user1ます。したがって、fooスクリプトuser1は、他のユーザーではなく、ログインしていることを認識します。