Newsgroup: it.comp.os.linux.iniziare
Titolo: comandi con ssh

Salve a tutti
mi trovo nella condizione di dover dare comandi ad un computer remoto
tramite ed ho pensato a SSH.
Ho fatto la generazione delle chiavi pubbliche e private e quant'altro
ed in effetti mi collego al computer remoto senza puù dover passare
per l'autenticazione della password.
Sul computer remoto devo attivare un'applicazione particolare che
richiede anche dei parametri.
Ho notato però che se do questi comandi tramite ssh
"ssh 
nomeu...@192.168.1.51
 comando -f primodato -l secondodato"
il computer mi risponde:
bash: line 1: commando: command not found
come se fosse il mio computer a dover dare il comando e non quello
remoto.
Come fare?
Grazie
Sergio

 remoto.
veramente e' quello remoto che ti dice che non trova il comando, 
probabilmente perche' non e' nel path.
ciao,
-- 
oggei

 "ssh 
nomeu...@192.168.1.51
 comando -f primodato -l secondodato"
ma il comando lo metti tra "" ?
$ ssh 
nomeu...@192.168.1.51
 "comando -f primodato -l secondodato"
ciao
-- 
Never try to teach a pig to sing.
It wastes your time and annoys the pig.

 oggei
Ciao oggei
grazie della risposta ma non è cosi.
Se entro nella macchina con ssh (tramite chiavi quindi senza
autenticazione) mi entra nel path dell'utente e posso dare il comando
(che é nel path dell'utente).
Per sicurezza ho provato anche a mettere il path nel comando da dare
al computer remoto, ma senza successo
(letto direttamente dal log di procmail)
sh: /path/al/comando/commando: No such file or directory

 It wastes your time and annoys the pig.
Grazie Antonio.
Ho provato a metter il comando tra "" ed in effetti ora vedo nel log
di procmail che vengono passati anche i parametri, ma comunque non
funziona.
Questo il log di procmail:
Pseudo-terminal will not be allocated because stdin is not a terminal.
sh: comando -opzioni: No such file or directory
Ora provo a mettere anche il path

 Ora provo a mettere anche il path
se hai ancora problemi, posta il comando ... cosi' ci rendiamo
conto meglio di cosa non va ...
ciao ...


 Ora provo a mettere anche il path
prova con:
ssh -t 
nomeute...@192.168.1.51
 "comando -f primodato -l secondodato"
oppure:
ssh -tt 
nomeute...@192.168.1.51
 "comando -f primodato -l secondodato"

 ssh -tt 
nomeute...@192.168.1.51
 "comando -f primodato -l secondodato"
Provato, sempre lo stesso errore:
bash: line 1: commando: command not found
Connection to 192.168.1.51 closed. (alla fine do exit dalla macchina
remota)

 remota)
posteresti il comando preciso che dai e il suo path completo?


Questo é il comando che dovrei dare.
/sismologia/bin/m88_command trigger -f 08/03/31 06:59:51 -l 08/03/31
07:01:51
Quando inserisco il comando completo di path mi ritorna questo codice
m88_command error: fopen: /home/lenet/config/station.cfg: No such file
or directory
Se invece non inserisco il path mi da quest'altro
bash: line 1: m88_command: command not found
Se do questi comandi dopo essere loggato al computer remoto invece
funziona bene.
Penso a questo puntoi che sia un problema di path sul computer remoto,
cioè devo in qualche modo utilizzare la variabile $PATH sul computer
remoto.
Devo forse dare prima il comando .bash_profile?

 Devo forse dare prima il comando .bash_profile?
sulla macchina remota /sismologia/bin fa parte del PATH dell'utente?

 sulla macchina remota /sismologia/bin fa parte del PATH dell'utente?
si
-bash: /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/lenet/bin:/
sismologia/bin: No such file or directory

 /home/lenet/config/station.cfg esiste sulla macchina remota?
no, esiste nella cartella /sismologia/config/station.cfg., mentre il
comando m88_command sta nella cartella /sismologia/bin.
In pratica va a prendere il file della configurazione in base alla
posizione del file m88_command ../config/station.cfg
Scusa, non avevo visto tutta la domanda:)

 Scusa, non avevo visto tutta la domanda:)
sulla macchina remota prova a fare un link simbolico:
ln -s /sismologia/config/station.cfg /home/lenet/config/station.cfg
oppure prova:
ssh -t 
nomeute...@192.168.1.51
 "cd /sismologia/bin; ./m88_command trigger -f
primodato -l secondodato"

 ln -s /sismologia/config/station.cfg /home/lenet/config/station.cfg
GRAZIE gt
Facendo il link as file di configurazione funziona.
Ma chiariscimi una cosa: Cosa fa il flagh -t su ssh?

sergio wrote:

man ssh
prova ad esempio a fare:
ssh user@host "vi .bash_profile"
e poi:
ssh -t user@host "vi .bash_profile"
certi comandi hanno bisogno di un terminale.

 grazie della risposta ma non è cosi.
direi che invece e' evidentemente cosi', il tuo problema e' imparare ad 
interpretare i messaggi di errore:
bash: line 1: m88_command: command not found = non ce l'hai nel path
m88_command error: fopen: /home/lenet/config/station.cfg: No such file or
directory = l'accrocchio si lamenta che manca un file
ciao,
-- 
oggei