GIT-SHELL(1) Git Manual GIT-SHELL(1) (NAME) git-shell - - SSH (SYNOPSIS) chsh -s $(command -v git-shell) git clone @localhost:/path/to/repo.git ssh @localhost (DESCRIPTION) SSH . pull/push git-shell-commands . (COMMANDS) git shell -c : git receive-pack , git upload-pack , git upload-archive git push git fetch git archive --remote . cvs server CVS. git- cvsserver(1) . ~/git-shell-commands git shell "git-shell-commands/ " . (INTERACTIVE USE) -c . ~/git-shell-commands git shell ( ) . help git-shell-commands . "git> " git-shell-commands exit . . no-interactive-login . (EXAMPLES) : $ chsh -s /usr/bin/git-shell $ mkdir $HOME/git-shell-commands $ cat >$HOME/git-shell-commands/no-interactive-login <<\EOF #!/bin/sh printf '%s\n' "Hi $USER! You've successfully authenticated, but I do not" printf '%s\n' "provide interactive shell access." exit 128 EOF $ chmod +x $HOME/git-shell-commands/no-interactive-login git-cvsserver ( no-interactive-login git-shell-commands ): $ cat >$HOME/git-shell-commands/cvs <<\EOF if ! test $# = 1 && test "$1" = "server" then echo >&2 "git-cvsserver only handles \"server\"" exit 1 fi exec git cvsserver server EOF $ chmod +x $HOME/git-shell-commands/cvs (SEE ALSO) ssh(1), git-daemon(1), contrib/git-shell-commands/README (GIT) git(1) Git 2.55.0 2026-06-29 GIT-SHELL(1)