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
