
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_config
líneas que publicaste. Parece que hay tres posibilidades aquí:
- Realmente no pasa nada, pero
sshd
es necesario empezar. sshd
puede ejecutarse, pero no escucha en la dirección IP o puerto correcto.- Algo impide
sshd
arrancar.
Para todo lo siguiente, tendrías que estar root
en el servidor ssh.
Para (1), ejecute algo como "ps -fe | grep sshd" para ver si sshd
se está ejecutando o no. De lo contrario, intente iniciar el servidor ssh. En Ubuntu, ejecutarías esto:
/etc/init.d/ssh restart
Si sshd
se está ejecutando, pase a (2). Verifique sshd_config
elEscucharDirecció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 sshd
y no se ejecuta, comience revisando los archivos de registro /var/log
en busca de mensajes de sshd
. Pueden indicar qué problema está teniendo. Si eso no funciona, puedes ejecutar sshd
interactivamente con la depuración:
/usr/sbin/sshd -ddd # Listen on the default port 22
/usr/sbin/sshd -ddd -p 1022 # Listen on port 1022
sshd
permanecerá 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é.