mirror of
https://github.com/tmate-io/tmate-ssh-server.git
synced 2020-11-18 19:53:51 -08:00
Hide session token in ps and logs
This commit is contained in:
parent
ebbafd794f
commit
080be74a75
2
log.c
2
log.c
@ -86,7 +86,7 @@ log_vwrite(int level, const char *msg, va_list ap)
|
|||||||
{
|
{
|
||||||
char *fmt = NULL;
|
char *fmt = NULL;
|
||||||
|
|
||||||
const char *token = tmate_session->session_token;
|
const char *token = tmate_session->obfuscated_session_token;
|
||||||
|
|
||||||
if (log_settings.log_level < level)
|
if (log_settings.log_level < level)
|
||||||
return;
|
return;
|
||||||
|
@ -262,9 +262,12 @@ void set_session_token(struct tmate_session *session,
|
|||||||
xasprintf(&path, TMATE_WORKDIR "/sessions/%s", token);
|
xasprintf(&path, TMATE_WORKDIR "/sessions/%s", token);
|
||||||
socket_path = path;
|
socket_path = path;
|
||||||
|
|
||||||
|
xasprintf((char **)&session->obfuscated_session_token, "%.4s...",
|
||||||
|
session->session_token);
|
||||||
|
|
||||||
memset(cmdline, 0, cmdline_end - cmdline);
|
memset(cmdline, 0, cmdline_end - cmdline);
|
||||||
sprintf(cmdline, "tmate-ssh-server [%s] %s %s",
|
sprintf(cmdline, "tmate-ssh-server [%s] %s %s",
|
||||||
session->session_token,
|
tmate_session->obfuscated_session_token,
|
||||||
session->ssh_client.role == TMATE_ROLE_DAEMON ? "(daemon)" : "(pty client)",
|
session->ssh_client.role == TMATE_ROLE_DAEMON ? "(daemon)" : "(pty client)",
|
||||||
session->ssh_client.ip_address);
|
session->ssh_client.ip_address);
|
||||||
}
|
}
|
||||||
|
@ -215,8 +215,7 @@ static void register_on_ssh_read(struct tmate_ssh_client *client)
|
|||||||
|
|
||||||
static void handle_sigalrm(__unused int sig)
|
static void handle_sigalrm(__unused int sig)
|
||||||
{
|
{
|
||||||
tmate_debug("Connection grace period (%ds) passed", TMATE_SSH_GRACE_PERIOD);
|
tmate_fatal_info("Connection grace period (%ds) passed", TMATE_SSH_GRACE_PERIOD);
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void client_bootstrap(struct tmate_session *_session)
|
static void client_bootstrap(struct tmate_session *_session)
|
||||||
@ -258,8 +257,7 @@ static void client_bootstrap(struct tmate_session *_session)
|
|||||||
|
|
||||||
tmate_debug("Exchanging DH keys");
|
tmate_debug("Exchanging DH keys");
|
||||||
if (ssh_handle_key_exchange(session) < 0)
|
if (ssh_handle_key_exchange(session) < 0)
|
||||||
tmate_fatal("Error doing the key exchange: %s",
|
tmate_fatal_info("Error doing the key exchange: %s", ssh_get_error(session));
|
||||||
ssh_get_error(session));
|
|
||||||
|
|
||||||
mainloop = ssh_event_new();
|
mainloop = ssh_event_new();
|
||||||
ssh_event_add_session(mainloop, session);
|
ssh_event_add_session(mainloop, session);
|
||||||
@ -271,7 +269,7 @@ static void client_bootstrap(struct tmate_session *_session)
|
|||||||
|
|
||||||
alarm(0);
|
alarm(0);
|
||||||
|
|
||||||
/* The latency is callback set later */
|
/* The latency callback is set later */
|
||||||
tmate_start_ssh_latency_probes(client, &ssh_server_cb, TMATE_SSH_KEEPALIVE * 1000);
|
tmate_start_ssh_latency_probes(client, &ssh_server_cb, TMATE_SSH_KEEPALIVE * 1000);
|
||||||
register_on_ssh_read(client);
|
register_on_ssh_read(client);
|
||||||
|
|
||||||
|
6
tmate.h
6
tmate.h
@ -26,6 +26,11 @@ extern void printflike(2, 3) tmate_log(int level, const char *msg, ...);
|
|||||||
tmate_log(LOG_CRIT, "fatal: " str, ##__VA_ARGS__); \
|
tmate_log(LOG_CRIT, "fatal: " str, ##__VA_ARGS__); \
|
||||||
exit(1); \
|
exit(1); \
|
||||||
})
|
})
|
||||||
|
#define tmate_fatal_info(str, ...) \
|
||||||
|
({ \
|
||||||
|
tmate_log(LOG_INFO, "fatal: " str, ##__VA_ARGS__); \
|
||||||
|
exit(1); \
|
||||||
|
})
|
||||||
|
|
||||||
/* tmate-msgpack.c */
|
/* tmate-msgpack.c */
|
||||||
|
|
||||||
@ -231,6 +236,7 @@ struct tmate_session {
|
|||||||
/* only for role deamon */
|
/* only for role deamon */
|
||||||
const char *session_token;
|
const char *session_token;
|
||||||
const char *session_token_ro;
|
const char *session_token_ro;
|
||||||
|
const char *obfuscated_session_token; /* for logging purposes */
|
||||||
|
|
||||||
struct tmate_encoder daemon_encoder;
|
struct tmate_encoder daemon_encoder;
|
||||||
struct tmate_decoder daemon_decoder;
|
struct tmate_decoder daemon_decoder;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user