2012-05-12 13 views
13

Eventuali duplicati:
Why does an SSH remote command get fewer environment variables then when run manually?Command not found tramite ssh con unico comando, che si trova dopo il collegamento al terminale

Se metto comando

ssh user @ $ IP ant

poi ricevo

bash: ant: command not found

ma quando accedo

ssh user @ $ IP

e mettere

ant

quindi funziona bene.

Ant è installato su macchine remote e locali. Dov'è il problema?

Ho provato a trovare la soluzione in google e non ho trovato nulla.

Grazie in anticipo per l'aiuto!

--EDIT--

ho bisogno di richiamare alcuni script bash, non vogliono cambiare tutti i percorsi per il percorso completo.

risposta

8

Per impostazione predefinita, i profili non vengono caricati durante la connessione tramite ssh. Per abilitare questo comportamento, impostare la seguente opzione in/etc/ssh/sshd_config:

PermitUserEnvironment yes 

dopo riavviare ssh

/etc/init.d/ssh restart 
+1

'PermitUserEnvironment' non controlla se il profilo dell'utente viene eseguito sul server. Controlla solo se le impostazioni dell'ambiente in determinati file di configurazione lato server sono rispettate. Questo non è rilevante per la solita causa del problema dell'OP. – Kenster

6

Specificare il percorso assoluto a ant, se si richiama correttamente il profilo non viene eseguito quando si esegue un comando remoto ssh.

+0

Questo risolto il problema di trovare il comando, ma ora non riesce a trovare il librerie condivise: 'errore durante il caricamento delle librerie condivise: libASC_LibTools.so: impossibile aprire il file oggetto condiviso: nessun file o directory' – Kayvar

Problemi correlati