GNU/Linux >> Tutoriales Linux >  >> Linux

Arruiné mi .bash_profile de forma remota, no puedo volver a entrar

Como se describe aquí, puede usar

ssh -t [email protected] bash --noprofile

de hecho, como sugiere @JoL, ni siquiera necesita el --noprofile , ya que cuando ssh ejecuta bash como un comando más, no se considera un shell de inicio de sesión. Ejecutando ssh -t [email protected] bash solo leerá los archivos RC; y ejecutando ssh -t [email protected] bash --norc no leerá ni siquiera esos.


Prueba SSH y ejecuta sh en lugar de bash , por ejemplo

ssh [email protected] sh

Luego cambie el nombre (mv ) o edite el archivo roto (ex/vi ).


Ejecute ssh -t host vi .bash_profile (o el editor de su elección en lugar de vi ) y arregla tu .bash_profile .

(El -t la opción puede no ser necesaria, según el editor que elija).

Si sabe exactamente lo que debe corregirse, es posible que pueda hacerlo de forma no interactiva. Por ejemplo, algo como

printf 's/exec foo/. foo/\nwq\n' ssh host ed .bash_profile

Linux
  1. Ssh:¿Copiar un archivo de nuevo al sistema local con Ssh?

  2. Ssh:¿restringir un usuario de Ssh/scp/sftp a un directorio?

  3. Ssh:¿agregar un usuario que solo puede ejecutar scripts de forma remota?

  4. Ssh:¿cómo editar archivos de forma remota a través de Ssh?

  5. Usé Ctrl-Alt-F6 en Linux y no puedo recuperar mi pantalla

Ssh:¿cómo reenviar X sobre Ssh para ejecutar aplicaciones gráficas de forma remota?

Ssh:¿necesito un Tty para ejecutar Sudo si puedo Sudo sin contraseña?

¿No puede conectarse de forma remota usando Ssh?

¿SSH con Authorized_keys a un sistema Ubuntu con homedir encriptado?

¿Cómo puedo evitar la verificación de host de SSH para hosts conocidos?

¿Ejecutar secuencias de comandos de forma remota en Unix, obtener resultados localmente?