cómo obtener bash prompt al iniciar sesión

0

Cuando me conecto a una máquina remota usando SSH, por defecto no está en el indicador de bash. Para obtener el indicador bash de manera predeterminada al iniciar sesión, hice lo siguiente creando un archivo .cshrc en mi directorio de inicio:

if ($?prompt) then
        setenv SHELL /bin/bash
        exec $SHELL -login
endif

Funciona bien y estoy obteniendo el shell bash pero tengo otro archivo como .bashrc en mi directorio de inicio que se ejecuta cuando ejecuto bash explícitamente. He realizado muchas personalizaciones en este archivo según mis requisitos. ¿Es posible ejecutar mi .bashrc de alguna manera desde .cshrc o de alguna otra manera?

Por ejemplo, necesito conectarme al host B desde el host A, hago esto:

De A -> ssh B

Esto muestra el host B pero no con un indicador de bash. Para obtener un mensaje bash, creé .cshrc como se mencionó anteriormente, pero mi fragmento de código anterior no llama a mi script .bashrc.

Garfio
fuente

Respuestas:

3

¿Has intentado ejecutar chsh en el sistema remoto? Cambiará el shell predeterminado para su cuenta de inicio de sesión.

Día D
fuente
0

Para configurar el shell de inicio de sesión de un usuario, debe modificar su archivo / etc / passwd, campo número 7:

dino:x:1002:1002::/home/dino:/bin/bash
dAm2K
fuente
Tenga en cuenta que muchos sistemas no se usan en /etc/passwdestos días.
Paul R
Verifiqué que mi nombre de usuario no está en / etc / passwd. Supongo que el usuario es usuario de la red. En caso de que si no quiero usar / etc / passwd, ¿hay alguna otra manera de lograr lo mismo
@Paul R Todos los sistemas modernos unix / linux / unix_like son compatibles con passwd / shadow, le brindan la posibilidad de agregar soporte para PAM, LDAP, NIS y similares ... pero / etc / passwd también está bien
dAm2K
@ user419534 ¿ha verificado su host remoto (HOST B en su caso?)
dAm2K
Sí, verifiqué el host remoto y el cliente. El usuario no sale en / etc / passwd