Acceso root ssh denegado después de cambiar shell

después de que traté de cambiar mi shell de server, no puedo iniciar session como root más.

Primero, instalé el z-shell (zsh) como root y luego quería cambiarlo a mi shell por defecto. Por lo tanto, utilicé "chsh". Mi culpa fue, que escribí en un path equivocado. Después de cerrar la session y el nuevo inicio de session a través de Putty, recibí el post "Acceso denegado".

Era previsible, cuando la trayectoria a la shell no existe. Así que me conecté a mi panel de control y cambié el file / etc / passwd a través de filemanager: corregí la última parte incorrecta de la primera línea – el usuario root:

root: x: 0: 0: root: / root: / usr / bin / zsh

Incluso si lo cambio a la vieja shell / bin / bash o / bin / sh no funciona. He leído que passwd & shadow no son live-files, así que reinicié el server, pero sigue siendo el mismo problema

Cualquier idea, ¿qué más podría hacer?

SO: Debian 5 + Parallels Plesk 11

  1. Siempre use vipw para editar / etc / passwd, y vipw -s para editar / etc / shadow.
  2. Compruebe que los shells que está intentando utilizar aparecen en / etc / shells.
  3. Compruebe que SElinux no está configurado para "hacer cumplir" en / etc / selinux / config. Cambiarlo a "permissivo" o "inhabilitado". [requiere reiniciar]
  4. Cuando desee probar un nuevo shell , no se cerrará session para probarlo . Inicie una session SSH adicional o tty, y deje la actual en ejecución en caso de que f * ck it up.
  5. Compruebe que los loggings de errores relacionados con el process de inicio de session pueden indicar qué más está mal.

Si todavía no puede solucionarlo por su count, póngase en contacto con su proveedor de alojamiento. Ellos saben cómo solucionarlo dentro de 10 minutos, o usted debe encontrar un mejor anfitrión.

Encontré una solución en otro foro. Para todas las personas con el mismo problema, tal vez este enfoque también puede ayudar:

Mi proveedor cambió la contraseña de root y probó el "chsh -s / bin / bash root" que no funcionó, porque la contraseña no fue aceptada y se produjo el siguiente error: "chsh: PAM authentication failed".

dave_mystic dio la solución:

El verdadero problema está en /etc/pam.d/chsh. En ese file, la línea que impide que los usuarios cambien de nuevo a un shell normal después de haber sido asignado un shell especial aparece antes de la línea que autoriza todos los cambios desde la raíz.

Desafortunadamente, la línea siguiente estaba disparando primero, rechazando un cambio porque la shell de los usuarios NO estaba en la list de shells disponibles. La línea de autorización de mí que es 'root' a través de sudo nunca se disparó porque nunca se verificó después de la primera línea disparada.

auth requinetworking pam_shells.so

La solución era comentar temporalmente la línea en /etc/pam.d/chsh, cambiar la shell de los usuarios a la shell correcta y luego eliminar el comentario en la línea.

Fuente: http://ubuntuforums.org/showthread.php?t=1702833

Así que comenté la línea mencionada y después de eso pude cambiar el shell.