git-shell(1)
============

NAME
----
git-shell - Restricted login shell for Git-only SSH access


SYNOPSIS
--------
[verse]
'chsh' -s $(command -v git-shell) <user>
'git clone' <user>`@localhost:/path/to/repo.git`
'ssh' <user>`@localhost`

DESCRIPTION
-----------

This is a login shell for SSH accounts to provide restricted Git access.
It permits execution only of server-side Git commands implementing the
pull/push functionality, plus custom commands present in a subdirectory
named `git-shell-commands` in the user's home directory.

COMMANDS
--------

'git shell' accepts the following commands after the `-c` option:

'git receive-pack <argument>'::
'git upload-pack <argument>'::
'git upload-archive <argument>'::
	Call the corresponding server-side command to support
	the client's 'git push', 'git fetch', or 'git archive --remote'
	request.
'cvs server'::
	Imitate a CVS server.  See linkgit:git-cvsserver[1].

If a `~/git-shell-commands` directory is present, 'git shell' will
also handle other, custom commands by running
"`git-shell-commands/<command> <arguments>`" from the user's home
directory.

INTERACTIVE USE
---------------

By default, the commands above can be executed only with the `-c`
option; the shell is not interactive.

If a `~/git-shell-commands` directory is present, 'git shell'
can also be run interactively (with no arguments).  If a `help`
command is present in the `git-shell-commands` directory, it is
run to provide the user with an overview of allowed actions.  Then a
"git> " prompt is presented at which one can enter any of the
commands from the `git-shell-commands` directory, or `exit` to close
the connection.

Generally this mode is used as an administrative interface to allow
users to list repositories they have access to, create, delete, or
rename repositories, or change repository descriptions and
permissions.

If a `no-interactive-login` command exists, then it is run and the
interactive shell is aborted.

EXAMPLE
-------

To disable interactive logins, displaying a greeting instead:

----------------
$ 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
----------------

SEE ALSO
--------
ssh(1),
linkgit:git-daemon[1],
contrib/git-shell-commands/README

GIT
---
Part of the linkgit:git[1] suite
