Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-04-2010, 12:34   #1
Abdujaparov
Senior Member
 
Iscritto dal: Aug 2004
Città: Palermo
Messaggi: 1079
[Script BASH] Lanciare un comando ssh

Ciao a tutti,
dovrei lanciare, da uno script un comando su una macchina remota tramite ssh.
Il mio problema è il seguente come faccio ad aprire una sessione ssh?
Se io do ssh user@host mi chiede la password subito dopo....come posso fare per fornirla direttamente in input?
Grazie, ciao ciao.
Abdujaparov è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2010, 12:43   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Con expect.

http://linux.die.net/man/1/expect
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2010, 14:33   #3
Abdujaparov
Senior Member
 
Iscritto dal: Aug 2004
Città: Palermo
Messaggi: 1079
Ciao,
nel mio script ho inserito questi comandi:


Codice:
ssh $USER_SERVER@$HOST_WHITEBOARD
/usr/local/bin/expect "*ssh/id_rsa*"
/usr/local/bin/send -- "${PASSW_SERVER}\r"
/usr/local/bin/send -- "\r"
Solo che quando lo eseguo mi vengono dati i seguenti errori:
Quote:
./Test.sh: line 73: /usr/local/bin/spawn: No such file or directory
./Test.sh: line 74: /usr/local/bin/expect: No such file or directory
./Test.sh: line 75: /usr/local/bin/send: No such file or directory
./Test.sh: line 76: /usr/local/bin/send: No such file or directory
Cosa sbaglio?
Grazie, ciao ciao.
Abdujaparov è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2010, 14:38   #4
Abdujaparov
Senior Member
 
Iscritto dal: Aug 2004
Città: Palermo
Messaggi: 1079
Mi sa che non ho spawn
Abdujaparov è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2010, 15:11   #5
lupoxxx87
Senior Member
 
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
prova a togliere /usr/local/bin dalle chiamate dei comandi
lupoxxx87 è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2010, 15:18   #6
Abdujaparov
Senior Member
 
Iscritto dal: Aug 2004
Città: Palermo
Messaggi: 1079
Ciao,
ho installato expect, spawn non lo trovo e non trovo send (se cerco com yum).
Ho una redhat. Cosa posso fare?
Ho provato a togliere /usr/local/bin e non mettere niente, come ho provato /usr/bin, come ho provato singolarmente i comandi.
Dopo l'installazione trovo solo expect.
Qualche idea?
Grazie, ciao ciao.
Abdujaparov è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2010, 15:34   #7
lupoxxx87
Senior Member
 
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
prova a digitare il nome del comando direttamente su terminale.

così se è installato ti dovrebbe dire che la sintassi è sbagliata, o alternativamente ti dovrebbe dire in quali pacchetti puoi reperirlo
lupoxxx87 è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2010, 15:41   #8
Abdujaparov
Senior Member
 
Iscritto dal: Aug 2004
Città: Palermo
Messaggi: 1079
Questo per spawn:

Quote:
[gaia_user@server01 RMS_GSRWorkflow]$ spawn
bash: spawn: command not found
[gaia_user@server01 RMS_GSRWorkflow]$ /usr/local/spawn
bash: /usr/local/spawn: No such file or directory
e su yum:

Quote:
[root@server01 RMS_GSRWorkflow]# yum search spawn
Loaded plugins: rhnplugin, security
======================================================================= Matched: spawn =======================================================================
inn.x86_64 : The InterNetNews (INN) system, an Usenet news server.
pexpect.noarch : Pure Python Expect-like module
Nessun paccheto spawn, ma altri pacchetti, devo installare quelli?

Per send:

Quote:
[gaia_user@server01 RMS_GSRWorkflow]$ send
bash: send: command not found
[gaia_user@server01 RMS_GSRWorkflow]$ /usr/bin/send
bash: /usr/bin/send: No such file or directory
Pacchetti che mi vengono trovati:

Quote:
[root@server01 RMS_GSRWorkflow]# yum search send
Loaded plugins: rhnplugin, security
======================================================================= Matched: send ========================================================================
lam.x86_64 : The LAM (Local Area Multicomputer) programming environment.
lam.i386 : The LAM (Local Area Multicomputer) programming environment.
ORBit2.i386 : A high-performance CORBA Object Request Broker
ORBit2.x86_64 : A high-performance CORBA Object Request Broker
arptables_jf.x86_64 : Userspace control program for the arptables network filter.
dbus.i386 : D-BUS message bus
dbus.x86_64 : D-BUS message bus
efax.x86_64 : A program for faxing using a Class 1, 2 or 2.0 fax modem.
exim.x86_64 : The exim mail transfer agent
inews.x86_64 : Sends Usenet articles to a local news server for distribution.
iputils.x86_64 : Network monitoring tools including ping.
mailx.x86_64 : The /bin/mail program for sending e-mail messages.
mgetty.x86_64 : A getty replacement for use with data and fax modems.
mgetty-sendfax.x86_64 : Provides support for sending faxes over a modem.
procps.x86_64 : System and process monitoring utilities.
psmisc.x86_64 : Utilities for managing processes on your system.
pump-devel.i386 : Development tools for sending DHCP and BOOTP requests.
pump-devel.x86_64 : Development tools for sending DHCP and BOOTP requests.
radvd.x86_64 : A Router Advertisement daemon
rsync.x86_64 : A program for synchronizing files over a network.
rsyslog.x86_64 : Enhanced system logging and kernel message trapping daemons
sendmail.x86_64 : A widely used Mail Transport Agent (MTA).
sendmail-cf.x86_64 : The files needed to reconfigure Sendmail.
sendmail-devel.i386 : Extra development include files and development files.
sendmail-devel.x86_64 : Extra development include files and development files.
sendmail-doc.x86_64 : Documentation about the Sendmail Mail Transport Agent program.
sg3_utils.x86_64 : Utils for Linux's SCSI generic driver devices + raw devices
sharutils.x86_64 : The GNU shar utilities for packaging and unpackaging shell archives.
spamassassin.x86_64 : Spam filter for email which can be invoked from mail delivery agents.
synaptics.x86_64 : Synaptics Touchpad Driver
sysklogd.x86_64 : System logging and kernel message trapping daemons.
Non mi sembra di scorgerli.....
Abdujaparov è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2010, 17:04   #9
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Mi pare che spawn e send siano dei comandi di expect, non dei veri e propri eseguibili.

Devi usare uno script del tipo:
Codice:
#!/usr/bin/expect -f
<comando1>
...
<comandoN>
e rendere il file eseguibile.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2010, 07:49   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Abdujaparov Guarda i messaggi
ssh $USER_SERVER@$HOST_WHITEBOARD
/usr/local/bin/expect "*ssh/id_rsa*"
/usr/local/bin/send -- "${PASSW_SERVER}\r"
/usr/local/bin/send -- "\r"
Lo script non è valido, deve essere simile a questo se lo inserisci in uno script bash:
Codice:
#!/bin/bash
HOST="localhost"
USER="myuname"
PASS="mypassword"

VAR=$(expect -c "
spawn ssh $USER@$HOST
expect \"password:\"
send \"$PASS\r\"
expect \"\\\\$\"
send \"ls\r\"
expect -re \"$USER.*\"
send \"logout\"
")

echo "==============="
echo "$VAR"
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2010, 08:50   #11
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Una alternativa può essere quella di usare un certificato per non dover mai usare la password:

http://linuxproblem.org/art_9.html

Nel caso tu voglia pure un certificato protetto da password puoi usare anche la procedura sopra descritta con ssh-agent (per inserire una volta sola la password all'avvio)

http://mah.everybody.org/docs/ssh
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2010, 09:19   #12
Abdujaparov
Senior Member
 
Iscritto dal: Aug 2004
Città: Palermo
Messaggi: 1079
Ciao,
grazie mille dell'aiuto. Sono riuscito a fare quello che serviva grazie ancora.
Ora ho un piccolo problema.
In pratica uso ssh-agent ed ssh-add, con quello che mi hai suggerito riesco correttamente ad eseguire l'operazione.
Adesso ho un altro problema.
Per esempio. Successivamente nello script eseguo il comando:

ssh server04

Effettivamente accedo a quel server ma a quel punto lo script non avanza con il comando seguente ma ottengo il controllo della console.

Codice:
VAR=$(expect -c "
spawn ssh-add
expect \"password:\"
send \"$PASS\r\"
")

echo "==============="
echo "$VAR"


echo "Vado sulla macchina server04"

ssh server04

sqlplus / as dba<<EOF
startup
/
EOF
Dopo l'ssh ottengo la console. Se faccio exit, ad esempio, lo script continua l'esecuzione ma, a quel punto, sono su un'altra macchina ed il comando non ha alcun senso.

Come dovrei impostare il tutto per riuscire a far girare lo script?
Grazie mille, ciao ciao.
Abdujaparov è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2010, 12:15   #13
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da Abdujaparov Guarda i messaggi
Per esempio. Successivamente nello script eseguo il comando:

ssh server04

Effettivamente accedo a quel server ma a quel punto lo script non avanza con il comando seguente ma ottengo il controllo della console.
"ssh nomeserver" ti apre una sessione interattiva
Se vuoi far eseguire dei comandi devi specificare il singolo comando in uno script da caricare sul sistema remoto preventivamente.
In alternativa puoi usare "here-document" per leggere i comandi da pipe, ad esempio

Codice:
ssh server04 << END

sqlplus / as dba<<EOF
startup
/
EOF
END
Dovrebbe funzionare
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2010, 14:34   #14
Abdujaparov
Senior Member
 
Iscritto dal: Aug 2004
Città: Palermo
Messaggi: 1079
Grazie mille!
Continuo ad avere un problema in una questione simile.
Nello script ho inserito il seguente codice:

Codice:
ssh $HOST_WHITEBOARD<<END

COMMAND_GET_PID_WHITE="ps aux | grep gaia.dpct.pfs.launcher.PFSCoordinatorTask | awk '/Sl+/ {print \$2}' | awk 'begin {row=0} row==0 {print; row++} row>0 {next}'"

echo "Comando da lanciare:"

echo $COMMAND_GET_PID_WHITE

echo "Provo a prendere il PID"

PID=`eval $COMMAND_GET_PID_WHITE`

echo "Pid trovato: $PID"

kill -9 $PID

#eval $WHITEBOARD
END
Il problema l'ho a monte, nel senso che la variabile COMMAND_GET_PID_WHITE se provo a stamparla mi risulta vuota. Perchè? A me sembra logicamente corretto quello che provo a fare. Che sbaglio?
Grazie, ciao ciao.
Abdujaparov è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2010, 09:48   #15
Abdujaparov
Senior Member
 
Iscritto dal: Aug 2004
Città: Palermo
Messaggi: 1079
Ciao ho risolto cambiato la prima riga da:

Codice:
ssh $HOST_WHITEBOARD<<END
in
Codice:
ssh $HOST_WHITEBOARD<<"END"
Grazie ancora, ciao ciao.
Abdujaparov è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Processo Microsoft-ValueLicensing: cosa ...
L'edizione limitata più ambita da...
Lo sviluppatore di MSI Afterburner svela...
Quando l'AI diventa maestro: così...
Sony WH-1000XM6 già scontate su A...
NVIDIA chiede più velocità...
Windows 11 in soli 2,8 GB: con questo sc...
Panico in casa HYTE: ritirato dal mercat...
OPPO Reno14, debutto tra rooftoop esclus...
3DAIQ, il progetto di Concept Reply e TE...
Il parlamento francese contro TikTok: '&...
Apple Watch SE 2ª gen. Cellular a soli 2...
MotoE sospesa dopo il 2025: fine tempora...
GhostRedirector: nuova campagna di attac...
AirPods Pro 3, la nuova traduzione vocal...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:03.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v