sshd
Mi objetivo es iniciar una segunda instancia en un puerto no privilegiado (por ejemplo, 2222) con mi propio archivo de configuración.
Obviamente, el sshd
proceso no puede setuid
iniciar sesión ya que los usuarios que no sean el que ejecuta el sshd
demonio son claramente imposibles.
Sin embargo, ¿es posible tener un sshd
demonio que funcione para el usuario que se está ejecutando actualmente? Para mi caso de uso, esto estaría bien.
Intenté arrancar una sshd
instancia con mi propio archivo de configuración y clave de host y el sshd
proceso se inicia (no tengo quejas de no ser root, como algunos comandos), sin embargo, cuando intento conectarme a ese puerto, el sshd
proceso muere.
$ /usr/sbin/sshd -dD -h .ssh/id_rsa -p 2222
debug1: sshd version OpenSSH_5.6p1
debug1: read PEM private key done: type RSA
debug1: private host key: #0 type 1 RSA
debug1: setgroups() failed: Operation not permitted
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-dD'
debug1: rexec_argv[2]='-h'
debug1: rexec_argv[3]='.ssh/id_rsa'
debug1: rexec_argv[4]='-p'
debug1: rexec_argv[5]='2222'
debug1: Bind to port 2222 on 0.0.0.0.
Server listening on 0.0.0.0 port 2222.
debug1: Bind to port 2222 on ::.
Server listening on :: port 2222.
debug1: fd 6 clearing O_NONBLOCK
debug1: Server will not fork when running in debugging mode.
debug1: rexec start in 6 out 6 newsock 6 pipe -1 sock 9
debug1: inetd sockets after dupping: 5, 5
Connection from ::1 port 57670
debug1: Client protocol version 2.0; client software version OpenSSH_5.6
debug1: match: OpenSSH_5.6 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: list_hostkey_types:
No supported key exchange algorithms
debug1: do_cleanup
debug1: do_cleanup
debug1: audit_event: unhandled event 12
La debug1: setgroups() failed: Operation not permitted
línea obviamente sobresale, pero no muere hasta que intenta aceptar una conexión.
UsePam
enno
.