mirror of
https://github.com/tmate-io/tmate-ssh-server.git
synced 2020-11-18 19:53:51 -08:00
Rename: tmate-slave -> tmate-ssh-server
This commit is contained in:
parent
55ffd5b64b
commit
9c45f61585
2
.gitignore
vendored
2
.gitignore
vendored
@ -17,7 +17,7 @@ Makefile
|
||||
Makefile.in
|
||||
configure
|
||||
keys/
|
||||
tmate-slave
|
||||
tmate-ssh-server
|
||||
cscope.*
|
||||
tags
|
||||
tmux.1.*
|
||||
|
12
Dockerfile
12
Dockerfile
@ -1,12 +1,12 @@
|
||||
# tmate-slave, see https://tmate.io/
|
||||
# tmate-ssh-server, see https://tmate.io/
|
||||
#
|
||||
# Example usage:
|
||||
#
|
||||
# docker run --privileged --rm -i -p 22:22 \
|
||||
# -v /etc/tmate/keys:/daemon-keys \
|
||||
# -v /etc/tmate/authorized_keys:/authorized-keys \
|
||||
# varac/tmate-slave \
|
||||
# /bin/sh -c "/sbin/tmate-slave -k /daemon-keys -a /authorized-keys -b 0.0.0.0 -p 22 -v -v -v -h SERVER_FQDN"
|
||||
# varac/tmate-ssh-server \
|
||||
# /bin/sh -c "/sbin/tmate-ssh-server -k /daemon-keys -a /authorized-keys -b 0.0.0.0 -p 22 -v -v -v -h SERVER_FQDN"
|
||||
|
||||
FROM debian:jessie-slim
|
||||
|
||||
@ -24,17 +24,17 @@ RUN mkdir /src && cd /src/ &&\
|
||||
# jessie-backports provides 3.6.2 but this pulls too many dependencies in.
|
||||
git clone -b libssh-0.7.6 git://git.libssh.org/projects/libssh.git &&\
|
||||
git clone https://github.com/msgpack/msgpack-c.git &&\
|
||||
git clone https://github.com/tmate-io/tmate-slave.git
|
||||
git clone https://github.com/tmate-io/tmate-ssh-server.git
|
||||
|
||||
RUN cd /src/libssh &&\
|
||||
mkdir build && cd build && cmake .. && make install
|
||||
RUN cd /src/msgpack-c &&\
|
||||
mkdir build && cd build && cmake .. && make install
|
||||
|
||||
RUN cd /src/tmate-slave &&\
|
||||
RUN cd /src/tmate-ssh-server &&\
|
||||
sh autogen.sh && PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure && make
|
||||
|
||||
RUN cp /src/tmate-slave/tmate-slave /sbin/
|
||||
RUN cp /src/tmate-ssh-server/tmate-ssh-server /sbin/
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /src
|
||||
|
46
Makefile.am
46
Makefile.am
@ -1,7 +1,7 @@
|
||||
# Makefile.am
|
||||
|
||||
# Obvious program stuff.
|
||||
bin_PROGRAMS = tmate-slave
|
||||
bin_PROGRAMS = tmate-ssh-server
|
||||
CLEANFILES = tmate.1.mdoc tmate.1.man
|
||||
|
||||
# Distribution tarball options.
|
||||
@ -72,7 +72,7 @@ DEFS += -D_LINUX_SOURCE_COMPAT=1
|
||||
endif
|
||||
|
||||
# List of sources.
|
||||
dist_tmate_slave_SOURCES = \
|
||||
dist_tmate_ssh_server_SOURCES = \
|
||||
alerts.c \
|
||||
arguments.c \
|
||||
attributes.c \
|
||||
@ -185,7 +185,7 @@ dist_tmate_slave_SOURCES = \
|
||||
tmate-daemon-legacy.c \
|
||||
tmate-msgpack.c \
|
||||
tmate-proxy.c \
|
||||
tmate-slave.c \
|
||||
tmate-main.c \
|
||||
tmate-ssh-client-pty.c \
|
||||
tmate-ssh-daemon.c \
|
||||
tmate-ssh-exec.c \
|
||||
@ -203,63 +203,63 @@ dist_tmate_slave_SOURCES = \
|
||||
window.c \
|
||||
xmalloc.c \
|
||||
xterm-keys.c
|
||||
nodist_tmate_slave_SOURCES = osdep-@PLATFORM@.c
|
||||
nodist_tmate_ssh_server_SOURCES = osdep-@PLATFORM@.c
|
||||
|
||||
# Pile in all the compat/ stuff that is needed.
|
||||
if NO_FORKPTY
|
||||
nodist_tmate_slave_SOURCES += compat/forkpty-@PLATFORM@.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/forkpty-@PLATFORM@.c
|
||||
endif
|
||||
if NO_IMSG
|
||||
nodist_tmate_slave_SOURCES += compat/imsg.c compat/imsg-buffer.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/imsg.c compat/imsg-buffer.c
|
||||
endif
|
||||
if NO_CLOSEFROM
|
||||
nodist_tmate_slave_SOURCES += compat/closefrom.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/closefrom.c
|
||||
endif
|
||||
if NO_DAEMON
|
||||
nodist_tmate_slave_SOURCES += compat/daemon.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/daemon.c
|
||||
endif
|
||||
if NO_SETENV
|
||||
nodist_tmate_slave_SOURCES += compat/setenv.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/setenv.c
|
||||
endif
|
||||
if NO_STRLCAT
|
||||
nodist_tmate_slave_SOURCES += compat/strlcat.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/strlcat.c
|
||||
endif
|
||||
if NO_STRLCPY
|
||||
nodist_tmate_slave_SOURCES += compat/strlcpy.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/strlcpy.c
|
||||
endif
|
||||
if NO_ASPRINTF
|
||||
nodist_tmate_slave_SOURCES += compat/asprintf.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/asprintf.c
|
||||
endif
|
||||
if NO_FGETLN
|
||||
nodist_tmate_slave_SOURCES += compat/fgetln.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/fgetln.c
|
||||
endif
|
||||
if NO_FPARSELN
|
||||
nodist_tmate_slave_SOURCES += compat/fparseln.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/fparseln.c
|
||||
endif
|
||||
if NO_GETOPT
|
||||
nodist_tmate_slave_SOURCES += compat/getopt.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/getopt.c
|
||||
endif
|
||||
if NO_STRCASESTR
|
||||
nodist_tmate_slave_SOURCES += compat/strcasestr.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/strcasestr.c
|
||||
endif
|
||||
if NO_STRSEP
|
||||
nodist_tmate_slave_SOURCES += compat/strsep.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/strsep.c
|
||||
endif
|
||||
if NO_VIS
|
||||
nodist_tmate_slave_SOURCES += compat/vis.c compat/unvis.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/vis.c compat/unvis.c
|
||||
endif
|
||||
if NO_STRTONUM
|
||||
nodist_tmate_slave_SOURCES += compat/strtonum.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/strtonum.c
|
||||
endif
|
||||
if NO_B64_NTOP
|
||||
nodist_tmate_slave_SOURCES += compat/b64_ntop.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/b64_ntop.c
|
||||
endif
|
||||
if NO_CFMAKERAW
|
||||
nodist_tmate_slave_SOURCES += compat/cfmakeraw.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/cfmakeraw.c
|
||||
endif
|
||||
if NO_OPENAT
|
||||
nodist_tmate_slave_SOURCES += compat/openat.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/openat.c
|
||||
endif
|
||||
if NO_REALLOCARRAY
|
||||
nodist_tmate_slave_SOURCES += compat/reallocarray.c
|
||||
nodist_tmate_ssh_server_SOURCES += compat/reallocarray.c
|
||||
endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
tmate server side
|
||||
==================
|
||||
|
||||
tmate-slave is the server side part of [tmate.io](http://tmate.io/).
|
||||
tmate-ssh-server is the server side part of [tmate.io](http://tmate.io/).
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
@ -27,7 +27,7 @@ loop do
|
||||
|
||||
|
||||
Dir['/proc/*/cmdline'].map do |f|
|
||||
if File.read(f) =~ /^tmate-slave \[(.+)\] \((.+)\) (.+)$/
|
||||
if File.read(f) =~ /^tmate-ssh-server \[(.+)\] \((.+)\) (.+)$/
|
||||
token = $1
|
||||
role = $2
|
||||
ip = $3
|
||||
|
@ -103,7 +103,7 @@ void request_server_termination(void)
|
||||
|
||||
static void usage(void)
|
||||
{
|
||||
fprintf(stderr, "usage: tmate-slave [-b ip] [-h hostname] [-k keys_dir] [-a authorized_keys_path] [-p port] [-x proxy_hostname] [-q proxy_port] [-s] [-v]\n");
|
||||
fprintf(stderr, "usage: tmate-ssh-server [-b ip] [-h hostname] [-k keys_dir] [-a authorized_keys_path] [-p port] [-x proxy_hostname] [-q proxy_port] [-s] [-v]\n");
|
||||
}
|
||||
|
||||
static char* get_full_hostname(void)
|
||||
@ -259,7 +259,7 @@ void set_session_token(struct tmate_session *session,
|
||||
socket_path = path;
|
||||
|
||||
memset(cmdline, 0, cmdline_end - cmdline);
|
||||
sprintf(cmdline, "tmate-slave [%s] %s %s",
|
||||
sprintf(cmdline, "tmate-ssh-server [%s] %s %s",
|
||||
session->session_token,
|
||||
session->ssh_client.role == TMATE_ROLE_DAEMON ? "(daemon)" : "(pty client)",
|
||||
session->ssh_client.ip_address);
|
||||
@ -415,7 +415,7 @@ static void handle_sigterm(__unused int sig)
|
||||
request_server_termination();
|
||||
}
|
||||
|
||||
static void tmate_spawn_slave_daemon(struct tmate_session *session)
|
||||
static void tmate_spawn_daemon(struct tmate_session *session)
|
||||
{
|
||||
struct tmate_ssh_client *client = &session->ssh_client;
|
||||
char *token;
|
||||
@ -429,7 +429,7 @@ static void tmate_spawn_slave_daemon(struct tmate_session *session)
|
||||
set_session_token(session, token);
|
||||
free(token);
|
||||
|
||||
tmate_notice("Spawning slave server for %s at %s (%s)",
|
||||
tmate_notice("Spawning daemon for %s at %s (%s)",
|
||||
client->username, client->ip_address, client->pubkey);
|
||||
|
||||
session->tmux_socket_fd = server_create_socket();
|
||||
@ -460,7 +460,7 @@ static void tmate_spawn_slave_daemon(struct tmate_session *session)
|
||||
/* never reached */
|
||||
}
|
||||
|
||||
static void tmate_spawn_slave_pty_client(struct tmate_session *session)
|
||||
static void tmate_spawn_pty_client(struct tmate_session *session)
|
||||
{
|
||||
struct tmate_ssh_client *client = &session->ssh_client;
|
||||
char *argv_rw[] = {(char *)"attach", NULL};
|
||||
@ -479,7 +479,7 @@ static void tmate_spawn_slave_pty_client(struct tmate_session *session)
|
||||
|
||||
set_session_token(session, token);
|
||||
|
||||
tmate_notice("Spawning slave client for %s (%s)",
|
||||
tmate_notice("Spawning pty client for %s (%s)",
|
||||
client->ip_address, client->pubkey);
|
||||
|
||||
session->tmux_socket_fd = client_connect(session->ev_base, socket_path, 0);
|
||||
@ -531,7 +531,7 @@ static void tmate_spawn_slave_pty_client(struct tmate_session *session)
|
||||
exit(ret);
|
||||
}
|
||||
|
||||
static void tmate_spawn_slave_exec(struct tmate_session *session)
|
||||
static void tmate_spawn_exec(struct tmate_session *session)
|
||||
{
|
||||
close_fds_except((int[]){ssh_get_fd(session->ssh_client.session),
|
||||
log_file ? fileno(log_file) : -1,
|
||||
@ -546,11 +546,11 @@ static void tmate_spawn_slave_exec(struct tmate_session *session)
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void tmate_spawn_slave(struct tmate_session *session)
|
||||
void tmate_spawn(struct tmate_session *session)
|
||||
{
|
||||
switch (session->ssh_client.role) {
|
||||
case TMATE_ROLE_DAEMON: tmate_spawn_slave_daemon(session); break;
|
||||
case TMATE_ROLE_PTY_CLIENT: tmate_spawn_slave_pty_client(session); break;
|
||||
case TMATE_ROLE_EXEC: tmate_spawn_slave_exec(session); break;
|
||||
case TMATE_ROLE_DAEMON: tmate_spawn_daemon(session); break;
|
||||
case TMATE_ROLE_PTY_CLIENT: tmate_spawn_pty_client(session); break;
|
||||
case TMATE_ROLE_EXEC: tmate_spawn_exec(session); break;
|
||||
}
|
||||
}
|
1
tmate-slave
Symbolic link
1
tmate-slave
Symbolic link
@ -0,0 +1 @@
|
||||
tmate-ssh-server
|
@ -277,7 +277,7 @@ static void client_bootstrap(struct tmate_session *_session)
|
||||
tmate_start_ssh_latency_probes(client, &ssh_server_cb, TMATE_SSH_KEEPALIVE * 1000);
|
||||
register_on_ssh_read(client);
|
||||
|
||||
tmate_spawn_slave(_session);
|
||||
tmate_spawn(_session);
|
||||
/* never reached */
|
||||
}
|
||||
|
||||
|
4
tmate.h
4
tmate.h
@ -189,7 +189,7 @@ struct tmate_ssh_client {
|
||||
extern void tmate_ssh_server_main(struct tmate_session *session,
|
||||
const char *keys_dir, const char *bind_addr, int port);
|
||||
|
||||
/* tmate-slave.c */
|
||||
/* tmate-main.c */
|
||||
|
||||
#ifdef DEVENV
|
||||
#define TMATE_SSH_DEFAULT_PORT 2200
|
||||
@ -259,7 +259,7 @@ extern struct tmate_session *tmate_session;
|
||||
extern void tmate_get_random_bytes(void *buffer, ssize_t len);
|
||||
extern long tmate_get_random_long(void);
|
||||
extern void request_server_termination(void);
|
||||
extern void tmate_spawn_slave(struct tmate_session *session);
|
||||
extern void tmate_spawn(struct tmate_session *session);
|
||||
extern void set_session_token(struct tmate_session *session, const char *token);
|
||||
|
||||
/* tmate-proxy.c */
|
||||
|
Loading…
x
Reference in New Issue
Block a user