El usuario Chroot ssh a la carpeta de inicio da como resultado una conexión rechazada

El usuario Chroot ssh a la carpeta de inicio da como resultado una conexión rechazada

Estoy intentando darle a alguien acceso ssh a un servidor (Ubuntu 14.04) que tengo, pero quiero limitarlo a su propia carpeta de inicio. Entonces estoy tratando de seguireste tutorial.

Primero creé un usuario ( sudo adduser jailuser) que hizo posible iniciar sesión usando jailuser. Luego, procediendo a intentar encarcelar al usuario, agregué lo siguiente /etc/ssh/sshd_config(y reinicié ssh):

Subsystem     sftp   internal-sftp
Match Group sftp
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no

Luego creé el grupo sftp:

sudo groupadd sftp

y ejecuté los siguientes comandos para cambiar el jailuser:

sudo usermod -G sftp jailuser
sudo usermod -s /bin/false jailuser
sudo chown root:root /home/jailuser
sudo chmod 0755 /home/jailuser

El resultado es que ya no puedo iniciar sesión: ssh: connect to host xx.xxx.xx.223 port 22: Connection refused.

Como soy un novato en la administración de servidores, estoy perdido aquí. ¿Alguien sabe qué estoy haciendo mal? ¡Todos los consejos/trucos son bienvenidos!

Respuesta1

Tuve este problema y la solución fue colocar "UsePAM sí" encima de la estrofa "Subsistema sftp interno-sftp". Reinicie ssh y funcionó directamente.

Respuesta2

No veo nada obviamente malo en las sshd_configlíneas que publicaste. Parece que hay tres posibilidades aquí:

  1. Realmente no pasa nada, pero sshdes necesario empezar.
  2. sshdpuede ejecutarse, pero no escucha en la dirección IP o puerto correcto.
  3. Algo impide sshdarrancar.

Para todo lo siguiente, tendrías que estar rooten el servidor ssh.

Para (1), ejecute algo como "ps -fe | grep sshd" para ver si sshdse está ejecutando o no. De lo contrario, intente iniciar el servidor ssh. En Ubuntu, ejecutarías esto:

/etc/init.d/ssh restart

Si sshdse está ejecutando, pase a (2). Verifique sshd_configelEscucharDirecciónoPuertodirectivas. Estos controlan en qué dirección IP y puerto el servidor escuchará las conexiones. En la mayoría de los casos, los dejaría comentados (para usar los valores predeterminados) o los establecería en 0.0.0.0 y 22, respectivamente.

Si ha intentado iniciar sshdy no se ejecuta, comience revisando los archivos de registro /var/logen busca de mensajes de sshd. Pueden indicar qué problema está teniendo. Si eso no funciona, puedes ejecutar sshdinteractivamente con la depuración:

/usr/sbin/sshd -ddd            # Listen on the default port 22
/usr/sbin/sshd -ddd -p 1022    # Listen on port 1022

sshdpermanecerá conectado a su terminal e imprimirá un montón de información de depuración. Si no puede seguir funcionando por algún motivo, debería informarle por qué.

información relacionada