Sur certains hôtes, la source est incorrecte .bash_profile
pour les connexions non interactives comme scp. Les messages qui sont imprimés dans le terminal peuvent éventuellement causer scp
de ne pas fonctionner correctement. Si vous avez des messages dans votre .bash_profile
cela peut en être la cause.
Pour que vos messages de connexion, votre bannière, etc. s'affichent lors des connexions interactives et que vous puissiez continuer à utiliser l'option scp
via un login non interactif, ajoutez ce qui suit avant tout message qui s'imprimerait dans votre système d'information. .bash_profile
fichier.
# ********** If not running interactively, don't do anything more! ***********
[ -z "$PS1" ] && return
Le code alternatif est :
[[ $- == *i* ]] || return
Et un autre code alternatif :
case $- in
*i*) ;;
*) return;;
esac
Qui, je crois, est la version longue du premier code alternatif. J'ai constaté que sur certains hôtes, le premier code ne fonctionne pas correctement, mais le second oui.
Pendant une connexion scp non interactive, il interrompra l'exécution de .bash_profile et permettra à scp de fonctionner, mais affichera vos messages de connexion lorsque vous vous connecterez via ssh.
Note : Cela peut également être utilisé dans votre .bashrc
si vous le sourcez à partir de .bash_profile
(pour $PATH) de sorte que seule une partie de celui-ci soit sourcée lors des connexions non interactives.