¿Dónde están mis registros sshd?

58

No puedo encontrar mis registros sshd en los lugares estándar.

Lo que probé:

  • No en /var/log/auth.log
  • No en /var/log/secure
  • ¿Un sistema buscó 'auth.log'y no encontró nada?
  • He puesto /etc/ssh/sshd_configa utilizar de forma explícita SyslogFacility AUTHy LogLevel INFOy sshd reinicia y todavía no puede encontrarlos.

Estoy usando OpenSSH 6.5p1-2 en Arch Linux.

HXCaine
fuente

Respuestas:

51

Pruebe este comando para ver el registro desde systemctl:

journalctl -u sshd |tail -100
suave
fuente
20
Esto no parece funcionar, pero lo journalctl _COMM=sshdhace.
wingedsubmariner
3
Ah, sí, systemctl es completamente consistente y predecible como de costumbre.
g33kz0r
3
Puede usar la -fopción para seguir el registro:journalctl -fu sshd
bzeaman
wingedsubmariner - Sé que han pasado casi 4 años, pero ... ¿recuerdas en qué distribución estabas en ese momento? Sospecho que el archivo de la unidad en su distribución se llamaba "openssh" o simplemente "ssh" en lugar de "sshd". Lo que pasa con el proyecto systemd es que consideran que las distribuciones son sus usuarios, y las distribuciones son libres de usar los nombres que quieran para los archivos de la unidad (como Debian llama al servidor web de Apache apache2mientras RedHat lo llama httpd).
bobpaul
26

Una mejor manera de ver la última parte del registro es:

journalctl -u sshd -n 100

El uso tailen la salida de journalctlpuede ser muy lento. Me tomó 5 minutos en una máquina donde lo probé, mientras que el comando anterior regresa al instante.

eMBee
fuente
3
¡Y no pierdes el color de la línea! Debería ser la mejor solución imo
kuzyn
7

Debería poder filtrar los mensajes sshdusando:

journalctl -u ssh

o (según su distribución)

journalctl -u sshd

que mostrará registros en un lessformato de estilo (puede buscar /, navegar a través de PgUp, PgDown, etc.).

  • -e te lleva al final de los registros.
  • -uEl parámetro se filtra a través del metacampo _SYSTEMD_UNITque está (al menos en Debian) configurado ssh.service, por sshdlo que no coincidirá.
  • -f sigue registros en tiempo real
  • -n 100muestra un número dado de líneas (útil con -f)

Alternativamente, puede utilizar el filtrado de metacampos:

journalctl _COMM=sshd

Puede mostrar el registro de diario completo con todos los metacampos exportando a JSON:

journalctl -u ssh -o json-pretty

eso te daría algo como:

    ...
    "_PID" : "7373",
    "_COMM" : "sshd",
    "_EXE" : "/usr/sbin/sshd",
    "_SYSTEMD_CGROUP" : "/system.slice/ssh.service",
    "_SYSTEMD_UNIT" : "ssh.service",
    ...

En caso de que se pregunte cómo mostrar solo los mensajes del núcleo:

journalctl -k -f
Tombart
fuente
¿Tiene una explicación para esta extraña sintaxis ( journalctl _COMM=sshd)?
Ortomala Lokni
@OrtomalaLokni -ufiltra a través del campo de metadatos _SYSTEMD_UNITque está en Debian configurado en ssh.service. Todos los parámetros que comienzan con guión bajo están accediendo a metafiels. De manera similar, puede filtrar a través de _PIDo _TRANSPORT.
Tombart
1

Eche un vistazo a su configuración de syslog. La mayoría de probalby /etc/syslog.confo /etc/rsyslog.conf debe buscar líneas con, authpor ejemplo, en mi configuración:

auth,authpriv.* /var/log/auth.log

*.*;auth,authpriv.none -/var/log/syslog

b13n1u
fuente
44
Ninguno de esos archivos existe. Creo que esos archivos son creados por syslog-ng, mientras que Arch lo reemplazó con systemd
HXCaine
En Scientific Linux authpriv. * Señale authpriv.* /var/log/securedentro del archivo /etc/rsyslog.conf
Salem F