Puis-je accéder à mon compte sans invoquer .profile?

10

Je veux accéder à mon compte ssh, mais je ne veux pas que la version actuelle de mon script de connexion .profile soit exécutée. Existe-t-il un moyen de se connecter sans exécuter .profile?

(Avertissement: j'ai trouvé une solution de contournement que j'ai publiée ci-dessous, mais je me demande s'il y a une meilleure réponse)

Jeremy Stein
la source

Réponses:

16

Vous pouvez exécuter la commande Followin:

ssh -t user@host bash --noprofile

-toption sshest de forcer TTY allocation.

enzotib
la source
Je vous remercie! Cela m'a aidé à me connecter à mon serveur qui avait un disque plein. Il m'a fallu un certain temps pour réaliser que mon .bashrc pouvait déclencher des écritures sur disque.
Ben Davis
3

C'est ce que j'ai fini par faire:

scp me@machine:.profile .
# Fix .profile
scp .profile me@machine:.
ssh me@machine
Jeremy Stein
la source
3

Pour éviter définitivement les ennuis, dans mon .bashrcsystème cible, j'ai:

if [ -z "$SSH_CLIENT" ] ; then  
...
fi

entourant des choses incompatibles avec ssh. SSH_CLIENTest défini pour les shells invoqués via ssh, et non pour les autres shells.

ssh user@somewhere "env >env.ssh"

marchez donc somewhere, connectez-vous en tant que useret:

env >env.local
diff env.local env.ssh
waltinator
la source