2015-03-31 18 views
7

Sono di fronte a un problema quando eseguo semplicemente questi comandi.passando argomento yes durante il comando scp

Il server remoto vogliono passare yes per aggiungere la chiave nel file di RSA a causa di collegamento prima volta stabilito con scp.

comandi sono riportati di seguito

#!/bin/bash 

scp -P58222 [email protected]:/root/K /N 
/usr/bin/expect -c 'expect "\n" { expect "Are you sure you want to continue connecting (yes/no)?" }' 
send "yes\r" 
expect "$ " 
send "exit\r" 

In realtà devo passare sì nel mio script chiedendo

The authenticity of host 'indirizzo IP (indirizzo IP)' non può essere stabilita.

RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. 
Are you sure you want to continue connecting (yes/no)? 

Sei sicuro di voler continuare la connessione (sì/no)?

Come posso risolvere questo problema?

con

scp -o StrictHostKeyChecking=no 

è ancora chiedendo.

+2

È sufficiente passare argomenti a ssh/scp per dirgli di non fare la domanda; non c'è bisogno di usare 'expect' per scrivere la risposta. –

+1

Detto questo - quale * specifica * domanda stai dicendo di rispondere automaticamente sì a? Ad esempio, se si tratta di una domanda chiave dell'host sconosciuto, sarebbe utile. –

+0

in particolare, 'scp -q' abilita la modalità silenziosa, che non ha bisogno di chiedere conferma. –

risposta

7
scp -o StrictHostKeyChecking=no [email protected]:/root/K 

Ovviamente, questa non è una soluzione molto sicura. Funziona per una ripresa in cui non sei preoccupato per l'uomo nel mezzo, però.

+0

In realtà, , quando viene stabilita la connessione, mostrare la connessione non può essere stabilita perché le informazioni dell'host remoto non sono state aggiunte quando si digita yes visualizza le informazioni sulla macchina host aggiunte correttamente. –

+0

Suggerisco di guardare 'man scp' sotto l'opzione' -o' per un elenco completo di opzioni ssh/scp. A seconda della configurazione, potrebbe essere necessario un altro flag set di opzioni. – economy

+0

Sto verificando che è utile ma ora sto provando .. !! –

2

Per me, questo funziona:

yes | scp -r /opt/MyFiles [email protected]<MyNewServerIP>:/opt/MyFiles 

saluti. =)

+0

Sembra che funzioni per me: –