
Actualmente estoy intentando configurar un grupo de usuarios que pueda conectarse a un servidor a través de SSH pero solo mediante proxy a través de él. No pueden ver ningún archivo ni ejecutar ningún comando. Los usuarios del grupo también podrían utilizar la autenticación con contraseña en lugar de claves. El servidor SSH es OpenSSH.
Esto esotra pregunta que aborda algo similarcon muy buena respuesta. Tengo problemas para entender completamente lo que quiere decir y dice específicamente que los usuarios no pueden usar el servidor como proxy, por lo que no puedo seguir las instrucciones sin pensar. También está escrito para un solo usuario en comparación con un grupo. Para intentar solucionar este problema, hice los siguientes cambios en su configuración en sshd_config
.
Match Group limited-users
AllowTcpForwarding yes
#X11Forwarding no
#PermitTunnel no
#GatewayPorts no
AllowAgentForwarding no
PermitOpen localhost:1080
ForceCommand echo 'This account can only be used for [reason]'
Sospecho que es posible que necesite crear un tipo específico de grupo de sistemas, pero no estoy seguro.
¿Existe alguna forma preferida de crear una cuenta bloqueada como esa y simplemente me estoy perdiendo?
Editar: tengoencontré una segunda pregunta que también se parece mucho a esta en StackOverflowpero nuevamente usan claves mientras que a mí me gustaría usar contraseñas en lugar de claves.
Edición 2: Resulta que esto es algo bastante popular.Este fue el que más ayudó. Parece que simplemente necesito configurar el shell del usuario para que simplemente presione cualquier tecla para cerrar sesión y no podrá hacer nada.
Edición 3: al seguir de cercaEste artículoproporcionado por una de las otras preguntas, se me ocurrió lo siguiente, que es más o menos lo mismo pero sin dos grupos separados:
Actualizaré si es correcto.
He creado lo que parece ser un shell completamente inútil creando el archivo /usr/bin/tunnel_shell
y colocando este
#!/bin/bash
trap '' 2 20 24
clear
echo -e "rn33[32mSSH tunnel started, shell disabled by the system administrator"
while [ true ] ; do
sleep 1000
done
exit 0
Creé un grupo llamado Tunnel_group usando
groupadd tunnel_group
Agregué un usuario llamado Tunnel_user usando esto. El -M no le proporciona ningún directorio de inicio. El -G grupo_túnel lo agrega a grupo_túnel (un grupo que creé anteriormente). -s establece su shell en el archivo Tunnel_Shell que creé anteriormente.
useradd -M -G tunnel_group -s /usr/bin/tunnel_shell tunnel_user
Luego configuro la contraseña de los usuarios usando
passwd tunnel_user
He /etc/ssh/sshd_config/
agregado esto al final del archivo.
Match Group tunnel_group
AllowTcpForwarding yes
#X11Forwarding no
PermitTunnel yes
GatewayPorts yes
AllowAgentForwarding yes
PermitOpen localhost: 1080
ForceCommand echo 'This account can only be used for SOCKS and has be restricted accordingly.'