The SSH Plugin for SCM Manager enables SSH access to Git repositories managed within SCM Manager. This is useful for applications which do not support Git over HTTP (e.g. SparkleShare version 0.9.7) or scenarios where authentication using public keys is preferred over password authentication.
Please note that the plugin has to use private APIs of SCM Manager in order to do its job. This means that it is incompatible with some other plugins and installing these plugins side-by-side with the SSH plugin will break SCM manager (see this bug report).
Setting up the SSH plugin is quite simple. Just download the plugin file and add it using plugin manager in the SCM administrative web-interface.
After restarting SCM manager, you can configure the SSH plugin in the general configuration panel of SCM. The SSH keys accepted for a specific user can be configured by the administrator in the user panel or by the respective user herself using the "Edit my SSH Keys" menu item.
For connecting to a Git repository over SSH, use a URL like
ssh://<username>@<server>:<port>/git/<repository>
.
The port is optional, if the SSH server is running on port 22.
However, for most operating systems binding to ports below 1024 requires
special privileges, so you might need to setup the Java servlet container
in a special way, if you want to use the standard port. By default the
SSH plugin uses port 8022.
When using public key authentication, the generic git
username can be used as an alternative to the actual username. In this
case, the first user that has the public key authorized is used.
Typically, SSH keys are personal, so the same key should not be
authorized for more than one user. In order to check which user is the
right one, the authentication code has to iterate over all users that are
present in the local user list, which can have performance implications.
For this reason, this behavior can be disabled by setting the
com.aquenos.scm.ssh.auth.PublicKeyAuthenticator.disableGlobalGitUser
system property to true
. It is also disabled when a user
with the username git
actually exists.
Support for authentication with the generic git
username was
introduced with version 2.0.0 of the plugin.
If you run the SSH plugin in parallel to another SSH daemon and use the same IP address or hostname for connections, you should make sure that the same SSH host keys are used. Otherwise the SSH client will complain about mismatching host keys.
This program and the accompanying materials are made available under the terms of the Eclipse Public License. By downloading the software you agree to be bound the the terms of this license.
The scm-ssh-plugin uses the SSH server implementation from the Apache Mina project.
Release 2.0.0 (August 17th, 2016):
Changes:
This version of the plugin is compatible with SCM manager 1.44 through 1.49
(and most likely newer versions). It introduces support for ECDSA keys and
using the generic git
username with key authentication. This
version of the plugin needs Java 7 and is not compatible with Java 6 any
longer.
Release 1.0.0 (November 14th, 2012):
Changes:
First public release of scm-ssh-plugin, intended for use with SCM Manager release 1.22.
You can contact the author of this software, Sebastian Marsching, at scm-ssh-plugin-maintainer
<at> oss <dot> aquenos <dot> com.Visit other projects on oss.aquenos.com.
© 2012 aquenos GmbH