command=""
in を使用すると、authorized_keys
特定のキーが実行できるコマンドを制限できます。
Gitがリモートで動作するにはどのコマンドが必要ですか?
~からプロGitの本このように推論でき、git-upload-pack
必須git-receive-pack
ですが、他に何がありますか?
注私はこのキーを使用せずにユーザーが正常にログインできるようにしたいと思います。
ベストアンサー1
頑張ってgit-shell
Git専用のログインシェルとして使用するのに適したコマンドです。次のコマンドを完全に許可します。
git receive-pack
git upload-pack
git upload-archive
git-receive-pack
git-upload-pack
git-upload-archive
cvsサーバー(CVSサーバーをシミュレートするために使用され、Gitプロトコルには不要)
したがって、許可する必要がある唯一のコマンドは次のとおりです。私がアクセスできるすべてのGitバージョンは、ハイフンを含むバージョンのみを使用します。
git-shell
あなたがやりたいことをするだけで十分かもしれません。
GIT_SSH
パラメータを反映するshimを設定して、特定のコマンドに対してGitが実行されている内容を確認できます。スクリプトを作成しますssh.sh
。
#!/bin/bash
echo "$@" >&2
次に、次を実行します。
GIT_SSH="./ssh.sh" git push
実行を試みるリモートコマンドが表示されます。