Puse "exit" en mi archivo .bashrc. No tengo acceso físico a la máquina, así que para conectarme a ella uso ssh. No tengo privilegios de root. Cada vez que me conecto al servidor, la conexión se cierra automáticamente.
Hasta ahora, he intentado:
- Sobrescribiendo .bashrc con scp y sftp. La conexión se cierra antes de que pueda hacer algo.
- Usar algunos programas GUI diferentes para acceder a ssh (la conexión se cierra)
- Sobrescribir el archivo con ftp. (no puede usar ftp)
- Desde la computadora de mi casa
- $ ssh host "bash --noprofile --norc" (la conexión se cierra)
- $ ssh host "mv .bashrc bashrc_temp" (la conexión se cierra)
- $ ssh host "rm .bashrc" (lo mismo)
- $ ssh host -t (la conexión se cierra)
¿Hay algo que pueda hacer para deshabilitar .bashrc o tal vez sobrescribir el archivo antes de que se obtenga .bashrc?
ACTUALIZAR
@ ring0
Intenté tu sugerencia, pero no tuve suerte. El archivo bashrc todavía se ejecuta primero.
Otra cosa que intenté fue iniciar sesión con otra cuenta y sudo editando el .bashrc, pero no tengo privilegios de sudo en esta cuenta.
Creo que me pondré en contacto con el administrador.
EDITAR
@shellholic
No puedo creerlo, ¡pero este enfoque funcionó! A pesar de que la "salida" se produce dentro de las primeras líneas (compuesto solamente de unos pocos , si los bloques y exportación declaraciones) en el archivo .bashrc, todavía lograron Ctrl-c interrupción con éxito dentro de los veinte intentos (tomó cerca de 3 minutos). Eliminé la línea ofensiva en el .bashrc y todo está funcionando nuevamente.
man 8 sshd
dice que9. Runs user's shell or command.
como el noveno paso ...: - /Respuestas:
puede intentar abortar (ctrl + C) antes de que
.bashrc
se ejecute la parte de salida de su .Intenté agregando lo siguiente en la parte superior del bashrc de un usuario de prueba, funciona, es solo cuestión de tiempo. Muy fácil en mi caso:
fuente
También pude estropear mi archivo .bashrc en un nuevo clúster al que he tenido acceso de prueba. Como no quería parecer un novato, lo último que quería hacer era pedir ayuda a los administradores, y no pude conseguir un ^ + C oportuno para trabajar.
Sin embargo, lo que sí funcionó fue enviar un comando 'rm' como argumento final para ssh. es decir
No pude hacer funcionar un comando 'mv' (probado antes sin -t), así que creo que la opción -t debe haberlo hecho, pero puede probarlo si lo desea. ¡Ahora he recuperado del archivo .bashrc ~ (creado por vim) todo menos la línea dudosa en cuestión y todo está bien en el mundo! = D
fuente
ssh -tv user@home mv .bashrc .bashrc-old
funcionó para míSi puede iniciar sesión como un usuario diferente, intente esto:
Necesitará su contraseña, por supuesto.
fuente
ksh
ocsh
Si recuerdo algunas malas experiencias que he tenido así, los ssh, scp, sftp parecen ejecutar los archivos de inicialización.
Mi sugerencia es usar FTP simple y luego eliminar o cambiar el nombre del archivo incorrecto en la línea de comando FTP después de iniciar sesión. Supongo que su sistema le permitirá el acceso FTP. En tal caso, asegúrese de cambiar su contraseña (de forma segura) cuando haya terminado la reparación.
fuente
De
man ssh
(OpenSSH_5.6p1
al menos, no estoy seguro de cuándo se agregó),..lo que significa que puede crear
~/.ssh/rc
con lo siguiente:Entonces cuando tu
ssh
ingrese, el bashrc problemático se eliminará, antes de que se inicie su shell de inicio de sesión; obviamente, puede arreglarlobak.bashrc
y volver a colocarlo en su lugarfuente
Conéctese a través de SCP o SFTP y edite / cambie el nombre / elimine su archivo .bashrc de esa manera. Editar - D'oh, veo que dijiste que lo intentaste. Oh bien.
fuente
Tuve el mismo problema y de alguna manera pude resolverlo. Usé ssh para acceder al sistema, y presioné y mantuve presionadas las teclas Ctrl + c tan pronto como ingresé al sistema. Entonces, ~ / .bashrc no se leyó y pude modificarlo.
fuente
Encontré esto funcionando.
Interrumpa el cargador de arranque de grub presionando e ... nuevamente presione e para ingresar a las líneas de carga de grub, nuevamente presione e para editar la línea del núcleo,
ir al final de la línea;
agregue init = / bin / bash al final de la línea,
entrar para volver, b para arrancar,
abrirá un shell bash, abrirá vim /root/.bashrc y editará en consecuencia. salga y ahora podrá iniciar sesión
fuente
Si estás usando Homestead Vagrant ...
Así es como salí de este encurtido.
(Usando Git Bash en Windows 10)
Nota: la contraseña predeterminada es "vagabundo"
Estos artículos me ayudaron:
fuente
Un par de sugerencias que me funcionaron de este hilo de Reddit :
fuente