All Projects → cea-hpc → sshproxy

cea-hpc / sshproxy

Licence: other
Proxy SSH connections on a gateway

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to sshproxy

Dotnet Etcd
A C# .NET (dotnet) GRPC client for etcd v3 +
Stars: ✭ 157 (+109.33%)
Mutual labels:  etcd
Remco
remco is a lightweight configuration management tool
Stars: ✭ 200 (+166.67%)
Mutual labels:  etcd
Forest
分布式任务调度平台,分布式,任务调度,schedule,scheduler
Stars: ✭ 231 (+208%)
Mutual labels:  etcd
Discovery.etcd.io
etcd discovery service
Stars: ✭ 160 (+113.33%)
Mutual labels:  etcd
Go Flagz
Dynamic flag management for Go.
Stars: ✭ 191 (+154.67%)
Mutual labels:  etcd
Dbtester
Distributed database benchmark tester
Stars: ✭ 214 (+185.33%)
Mutual labels:  etcd
Etcdlabs
etcd playground
Stars: ✭ 143 (+90.67%)
Mutual labels:  etcd
minietcd
☁️ Super small and "dumb" read-only client in Go for coreos/etcd (v2).
Stars: ✭ 12 (-84%)
Mutual labels:  etcd
Dcmp
基于etcd的配置管理系统 (etcd v2)
Stars: ✭ 200 (+166.67%)
Mutual labels:  etcd
Gosiris
An actor framework for Go
Stars: ✭ 222 (+196%)
Mutual labels:  etcd
Pifpaf
Python fixtures and daemon managing tools for functional testing
Stars: ✭ 161 (+114.67%)
Mutual labels:  etcd
Swarmstack
A Docker swarm-based starting point for operating highly-available containerized applications.
Stars: ✭ 181 (+141.33%)
Mutual labels:  etcd
Skipper
An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress
Stars: ✭ 2,606 (+3374.67%)
Mutual labels:  etcd
Etcd Watcher
Etcd watcher for Casbin
Stars: ✭ 157 (+109.33%)
Mutual labels:  etcd
Mgmt
Next generation distributed, event-driven, parallel config management!
Stars: ✭ 2,708 (+3510.67%)
Mutual labels:  etcd
Etcd Cloud Operator
Deploying and managing production-grade etcd clusters on cloud providers: failure recovery, disaster recovery, backups and resizing.
Stars: ✭ 149 (+98.67%)
Mutual labels:  etcd
Source Code Reading Notes
源码阅读笔记
Stars: ✭ 207 (+176%)
Mutual labels:  etcd
perseus
Perseus is a set of scripts (docker+javascript) to investigate a distributed database's responsiveness when one of its three nodes is isolated from the peers
Stars: ✭ 49 (-34.67%)
Mutual labels:  etcd
Etcdhcp
A DHCP server backed by etcd
Stars: ✭ 250 (+233.33%)
Mutual labels:  etcd
Constructr
Coordinated (etcd, ...) cluster construction for dynamic (cloud, containers) environments
Stars: ✭ 219 (+192%)
Mutual labels:  etcd

sshproxy

Build Status

What is sshproxy?

sshproxy is used on a gateway to transparently proxy a user SSH connection on the gateway to an internal host via SSH. scp, sftp, rsync, etc. are supported.

sshproxy defines routes which bind an SSH listening address to a pool of destination hosts. It can then choose the first available destination or load-balance the connections with a simple round-robin algorithm.

Because of its design sshproxy is stateless (it is launched as a ForceCommand by sshd). It can be made stateful by using etcd allowing to:

  • remember users connections and always connects a user to the same destination while a connection to this destination is alive,

  • periodically check if destination hosts are alive.

States stored in etcd can be displayed or modified with the sshproxyctl command.

sshproxy can be configured to monitor SSH sessions and either to save them in files or to send them to the very simple sshproxy-dumpd daemon. Sessions can be replayed with the sshproxy-replay command.

Compilation

Install the Go compiler suite: see http://golang.org/doc/install for details.

Define and export the $GOPATH directory where the source code will be unpacked (e.g. $HOME/go):

$ export GOPATH=$HOME/go
$ mkdir -p $GOPATH/src/github.com/cea-hpc
$ cd $GOPATH/src/github.com/cea-hpc
$ tar xvJf sshproxy-X.Y.Z.tar.xz

Compile everything:

$ make

Installation

Install binaries and manpages:

# make install

sshproxy and sshproxy-dumpd are installed in /usr/sbin, sshproxyctl and sshproxy-replay in /usr/bin.

Configuration

There is a commented configuration file in the config directory.

Configure /etc/sshproxy/sshproxy.yaml to suit your needs.

Modify the SSH daemon configuration /etc/ssh/sshd_config by adding:

ForceCommand /usr/sbin/sshproxy

Copying

Copyright © 2015-2022 CEA/DAM/DIF

sshproxy is distributed under the CeCILL-B, a French transposition of the BSD license. See the included files Licence_CeCILL-B_V1-en.txt (English version) and Licence_CeCILL-B_V1-fr.txt (French version) or visit http://www.cecill.info for details.

Authors

Arnaud Guignard <[email protected]>, Cyril Servant <[email protected]>

Documentation

See files in the doc directory.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].