web-dev-qa-db-fra.com

Comment connecter ssh et exécuter un script shell

J'ai une application simple sur le serveur et je veux l'exécuter automatiquement à partir de mon ordinateur. Je peux me connecter au serveur avec succès via ce script:

spawn ssh -t login@ip
expect "password"
send "password\r"
interact

mais je ne peux pas changer de répertoire en dossier avec mon application. J'ai essayé tellement:

spawn ssh -t login@ip bash -c "cd /var/app"

et donc:

spawn ssh -t ssh login@ip 'cd /var/app && exec bash -l'

et donc:

spawn ssh -t login@ip
expect "password"
send "password\r"
cd var/app
exec bash
interact

et aussi d'autres variantes ...

mais via script cela ne fonctionne pas car mon script veut changer de répertoire sur ma machine locale (pas sur le serveur). Puis-je résoudre ce problème? Merci de votre attention.

1
Mello007

Si vous devez exécuter plusieurs commandes via ssh, utilisez un sous-shell comme celui-ci:

ssh user@Host bash -c 'pwd ; dir && ls'
1
dessert