Hello a tous!

J'ai une petites question de "faisabilité": Est-il possible d'exécuter des alias en étant connecté sur une machine via ssh?
En effet le terminal ne voit pas les alias contenus dans le .bashrc lorsque je suis connecté via ssh à une machine, le même .bashrc étant sur la machine "distante" et sur la machine "locale" (je mets des " " car je ne suis pas sûr que ce soit les termes adéquats...). Comment puis-je faire marcher les alias contenus dans le .basrc?

Merci d'avance!
Le seul bashrc qui est lu est celui de la machine locale.

Sur ta machine celui qui est sur ta machine, quand tu te connectes sur ssh sur un machine distante celui de cette machine distante (qui est le local de cette machine là).

Si il n'est pas lu correctement c'est qu'il y a un probleme (ha ha, on l'aurait deviné)
* si tu l'as copié d'une machine à l'autre, les droits sont ils les bons?
* est ce qui le bon fichier?
* Aucun alias ne marche, ou juste certains? On peut voir ce fameux .bashrc?
Colle un "set -x" au début du .bashrc et du .bash_profile (ou des "echo <bla bla bla>"),
au moins avec ces affichages tu seras sûr de ce qui est exécuté et de ce qui ne l'est pas.
je crois qu'il y a une subtilité (un est exécuté quand tu te logges en local et pas en ssh ou un truc comme ça...)

Toujours est-il que j'ai fini par un
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi
dans mon .bash_profile...
@pingoomax: tout il est oké, les droits, c'est le bon fichier, au bon endroit, aucun alias ne fonctionne en se connectant à distance en ssh, alors qu'ils fonctionnent tous lorsque je me connecte physiquement en local sur la bécane...

@BBT: ".bash_profile"? je n'en avait pas! J'en ai mis un partout contenant:
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME
, mais rien n'y fait, les alias ne fonctionnent pas mieux en ssh sur la machine distante:-(

J'ai tenté de mettre "echo <bashprofile_exécuté>" au début du .bash_profile (juste après "# .bash_profile") et "echo <bashrc_éxecuté>" (juste après "#.bashrc") mais là j'ai:
bash: /home/Alex/.bashrc: line 2: syntax error near unexpected token `newline'
bash: /home/Alex/.bashrc: line 2: `echo <bashrc_éxecuté>'
bash-3.2$
et les alias ne fonctionnent plus...🙁

Lorsque je met "set-x" j'ai bien (notamment) mes alias qui s'affichent lors de l'ouverture d'un terminal sur la machine locale, mais rien de plus lorsque je me connecte en ssh sur la machine avec un .bashrc et un .bash_profile agrémenté de ce "set-x"... et pas plus d'alias reconnus...

En fait, je crois que cette machine a été configurer de telle sorte qu'on ne puisse pas exécuter ce qu'il y a dans le .bashrc (je n'en suis pas l'administrateur) car j'ai vérifié sur d'autres machines du réseau, et avec le bon .bash_profile et .bashrc tout est ok, avec les alias. Est-ce que ce que je dis est possible (que la machine est configurée pour que les .bashrc perso ne fonctionnent pas)?

Merci beaucoup en tout cas à vous deux puisque j'ai pu identifié et résoudre (partiellement, sur les autres machines dont je suis administrateur) mon problème!8-):-D8-)
Bonjour,

regarde dans le sshd_config si la variable PermitUserEnvironment est positionnée
Merci de l'info, c'est noté, mais je n'ai pas les droits pour consulter /est/ssh/sshd_config sur cette machine...
Alextazy wrote:J'ai tenté de mettre "echo <bashprofile_exécuté>" au début du .bash_profile (juste après "# .bash_profile") et "echo <bashrc_éxecuté>" (juste après "#.bashrc") mais là j'ai:
bash: /home/Alex/.bashrc: line 2: syntax error near unexpected token `newline'
bash: /home/Alex/.bashrc: line 2: `echo <bashrc_éxecuté>'
bash-3.2$
et les alias ne fonctionnent plus...🙁
Désolé, les '<' et '>' voulaient dire 'remplace ça par ce que tu veux ^^'
il fallait pas les mettre
echo "bash_profile: debut"
echo "bash_profile: fin"
echo "bashrc: debut"
echo "bashrc: fin"
Ce genre de chose devrait mieux marcher
En dernier recours, tu peux lancer ton script de configuration explicitement :
ssh <login>@<machine> bash ~/.bashrc
ou bien essaie de lancer un bash en interactif
ssh <login>@<machine> bash -i
Et tu remplaces '<login>' et '<machine>' par ce qui va bien :hammer:
Regarde la section INVOCATION de man bash.

Essaye en mettant simplement source $HOME/.bashrc dans ~/.bash_profile
déjà dit && déjà fait
Je parle du pourquoi expliqué dans le man
Heu, je ne suis (du verbe suivre) plus trop votre dialogue, mais merci beaucoup de votre aide, je considère mon post comme "RÉSOLU".🙂