# README
ContainerSSH SSH Proxy Backend
This is the SSH proxy backend for ContainerSSH, which forwards connections to a backend SSH server.
⚠⚠⚠ Warning: This is a developer documentation. ⚠⚠⚠
The user documentation for ContainerSSH is located at containerssh.io.
Using this library
This library implements a NetworkConnectionHandler
from the sshserver library. This can be embedded into a connection handler.
The network connection handler can be created with the New()
method:
var client net.TCPAddr
connectionID := "0123456789ABCDEF"
config := sshproxy.Config{
//...
}
collector := metrics.New()
proxy, err := sshproxy.New(
client,
connectionID,
config,
logger,
collector.MustCreateCounter("backend_requests", "", ""),
collector.MustCreateCounter("backend_failures", "", ""),
)
if err != nil {
// Handle error
}
The logger
parameter is a logger from the ContainerSSH logger library.
# Functions
No description provided by the author
# Constants
ContainerSSH could not close the session towards the backend service.
The connection to the designated target server failed.
The connection could not be established because the backend refused our authentication attempt.
No description provided by the author
ContainerSSH failed to open a session on the backend server with the SSH Proxy backend.
The ContainerSSH SSH proxy module failed to close the client connection.
The operation couldn't complete because the user already disconnected.
ContainerSSH encountered an unexpected host key fingerprint on the backend while trying to proxy the connection.
The client tried to perform an operation after the program has already been started which can only be performed before the program is started.
The client tried to request an action that can only be performed once the program has started before the program started.
ContainerSSH failed to close the session channel on the backend.
The action cannot be performed because the connection is shutting down.
ContainerSSH failed to deliver a signal on the backend channel.
ContainerSSH failed to copy the stderr from the backing connection.
ContainerSSH failed to copy the stdin to the backing connection.
ContainerSSH failed to copy the stdout from the backing connection.
ContainerSSH failed to change the window size on the backend channel.
No description provided by the author
No description provided by the author
No description provided by the author
The backend closed the SSH session towards ContainerSSH.
ContainerSSH is closing the session towards the backend service.
ContainerSSH is connecting the backing server.
The ContainerSSH SSH proxy received a disconnect from the client.
The ContainerSSH SSH proxy backend has received an exit-signal message.
The ContainerSSH SSH proxy backend has received an exit-signal message, but failed to decode the message.
The ContainerSSH SSH proxy backend has received an exit-status message.
The ContainerSSH SSH proxy backend has received an exit-status message, but failed to decode the message.
The ContainerSSH SSH proxy backend is opening a new session.
The ContainerSSH SSH proxy backend is closing a session.
The ContainerSSH SSH proxy backend has closed a session.
The ContainerSSH SSH proxy backend has opened a new session.
ContainerSSH is shutting down and is sending TERM and KILL signals on the backend connection.
No description provided by the author
No description provided by the author
# Type aliases
AllowedHostKeyFingerprints is a list of fingerprints that ContainerSSH is allowed to connect to.
ClientVersion is a string that is issued to the client when connecting.