2012-05-12 15 views
13

Duplicar posible:
Why does an SSH remote command get fewer environment variables then when run manually?Comando no encontrado a través de ssh con mando único, que se encuentra después de conectar al terminal

Si pongo comando

ssh usuario @ $ IP ant

entonces reciben

bash: hormiga: comando no encontrado

pero cuando inicio sesión en

ssh usuario @ $ IP

y poner

ant

then work fine.

Ant está instalado en máquinas remotas y locales. ¿Dónde está el problema?

He intentado encontrar una solución en google y no he encontrado nada.

Gracias de antemano por ayuda!

--EDIT--

I necesidad de invocar algunos scripts bash, no quieren cambiar todos los caminos de ruta completa.

Respuesta

8

Por defecto, los perfiles no se cargan al conectarse a través de ssh. Para habilitar este comportamiento, establezca la opción siguiente en/etc/ssh/sshd_config:

PermitUserEnvironment yes 

reinicie después ssh

/etc/init.d/ssh restart 
+1

' PermitUserEnvironment' no controla si el perfil del usuario se ejecuta en el servidor. Solo controla si se respetan las configuraciones de entorno en ciertos archivos de configuración del lado del servidor. Eso no es relevante para la causa habitual del problema del OP. – Kenster

6

Especifique la ruta absoluta a ant; si no recuerdo mal, su perfil no se ejecutará cuando ejecute un comando remoto ssh.

+0

Esto ha solucionado el problema de encontrar el comando, pero ahora no puede encontrar el bibliotecas compartidas: 'error al cargar bibliotecas compartidas: libASC_LibTools.so: no se puede abrir el archivo de objeto compartido: Ningún archivo o directorio de este tipo – Kayvar

Cuestiones relacionadas