Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
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


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
La tua rete Wi-Fi fa pena? Questi FRITZ!...
Amazon, un weekend di fuoco per gli scon...
Ancora 3 smartwatch Amazfit in forte sco...
Sharkoon A60 RGB: dissipatore ad aria du...
HONOR 400 Pro a prezzo bomba su Amazon: ...
Offerte da non perdere: robot aspirapolv...
Apple Watch e Galaxy Watch ai minimi sto...
Il rover NASA Perseverance ha ''raccolto...
NASA e ISRO hanno lanciato il satellite ...
Switch 2 ha venduto 5,82 milioni di cons...
Assassin's Creed Black Flag Remake: le m...
Cosa ci fa una Xiaomi SU7 Ultra alle por...
Promo AliExpress Choice Day: prezzi stra...
Nostalgico, ma moderno: il nuovo THEC64 ...
AVM avvia la distribuzione di FRITZ! OS ...
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: 10:01.


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