Game of Trees Shell
gotsh is the network-facing interface to
gotd(8). It implements the
server-side part of the Git network protocol used by
gotsh is not an interactive shell.
gotsh is intended to be configured as the login
shell of Git repository user accounts on servers running
gotd(8). If users require a
different login shell,
gotsh can be installed in the
command search path under the names
The users can then interact with gotd(8) over the network. When users invoke commands such as
got send and
got fetch on
client machines, got(1) will
connect to the server with ssh(1).
gotsh will facilitate communication
between gotd(8) running on
the server machine and the got(1) or git(1)
program running on the client machine.
gotsh must be members of the
group which has read/write permission to the gotd(8) unix socket. The group used for this purpose can be
configured in gotd.conf(5). Users running
gotsh should not
have access to Git repositories by means other than accessing the unix
socket of gotd(8) via
It is recommended to restrict ssh(1) features available to users of
gotsh. See the
EXAMPLES section for details.
- Set the path to the unix socket which gotd(8) is listening on. If not specified, the default path /var/run/gotd.sock will be used.
The following sshd_config(5) directives are recommended to protect the server machine and any systems reachable from it via ssh(1) forwarding features. This example assumes the group called “_gotsh” has read/write access to the gotd(8) unix socket.
Match Group _gotsh DisableForwarding yes PermitTTY no
got(1), ssh(1), gotd.conf(5), sshd_config(5), gotd(8)
Stefan Sperling <email@example.com>