From: Christian Hesse <mail@xxxxxxxx> Logging to stderr results in line endings being terminated with carriage return (\r) and new line (\n). While this is fine for terminals it may have undesired effects when running from crond and logging to syslog or similar. I run ssh from cron on an recent linux host. Viewing logs with journalctl I see: Sep 06 16:50:01 linux CROND[152575]: [96B blob data] Adding switch --all for unprintable characters it shows: Sep 06 16:50:01 linux CROND[152575]: (root) CMDOUT (Warning: Permanently added '10.52.33.217' (ED25519) to the list of known hosts.^M) Note the control character ^M. Removing the carriage return fixes this. Signed-off-by: Christian Hesse <mail@xxxxxxxx> --- log.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/log.c b/log.c index d9c2d136..7e0737c4 100644 --- a/log.c +++ b/log.c @@ -462,7 +462,7 @@ do_log(LogLevel level, const char *fmt, va_list args) tmp_handler(level, fmtbuf, log_handler_ctx); log_handler = tmp_handler; } else if (log_on_stderr) { - snprintf(msgbuf, sizeof msgbuf, "%.*s\r\n", + snprintf(msgbuf, sizeof msgbuf, "%.*s\n", (int)sizeof msgbuf - 3, fmtbuf); (void)write(log_stderr_fd, msgbuf, strlen(msgbuf)); } else { _______________________________________________ openssh-unix-dev mailing list openssh-unix-dev@xxxxxxxxxxx https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev