2015-03-31 1 views
7

Ich habe ein Problem, wenn ich einfach diese Befehle ausführen.Übergabe ja Argument während scp Befehl

Der Remote-Server möchte yes übergeben, um den Schlüssel in der RSA-Datei hinzuzufügen, da die erste Verbindung mit scp hergestellt wurde.

Befehle werden unter

#!/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" 

Eigentlich muss ich ja passieren in meinem Skript gegeben, während

Die Echtheit der Host fragt ‚IP-Adresse (IP-Adresse)‘ nicht unter werden kann.

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)? 

Sind Sie sicher, dass Sie verbinden fortsetzen wollen (ja/nein)?

Wie kann ich dieses Problem loswerden?

mit

scp -o StrictHostKeyChecking=no 

es immer noch zu fragen ist.

+2

Sie können Argumente einfach an ssh/scp übergeben, um es zu bitten, die Frage nicht zu stellen; Es ist nicht nötig, 'expect' zu verwenden, um die Antwort zu skripten. –

+1

Das sagte - welche * spezifische * Frage sagst du es zu ja automatisch zu beantworten? Wenn es zum Beispiel eine unbekannte Host-Schlüsselfrage ist, würde das helfen. –

+0

Insbesondere 'scp -q' aktiviert den stillen Modus, der keine Bestätigung benötigt. –

Antwort

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

Offensichtlich ist dies keine sehr sichere Lösung. Arbeitet für One-Shots, bei denen es dir nicht um den Mann in der Mitte geht.

+0

Eigentlich, wenn die Verbindung hergestellt wird, zeigt es Verbindung kann nicht hergestellt werden, weil Remote-Host-Informationen nicht hinzugefügt wenn wir ja es zeigen Host-Maschine Informationen erfolgreich hinzugefügt. –

+0

Ich würde vorschlagen, "Mann scp" unter der Option "-o" für eine vollständige Liste der ssh/scp Optionen zu betrachten. Abhängig von Ihrer Konfiguration benötigen Sie möglicherweise ein anderes Optionsflagset. – economy

+0

Ich überprüfe es ist hilfreich, aber jetzt testet .. !! –

2

Für mich dies funktioniert:

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

Grüße. =)

+0

Das scheint für mich zu funktionieren: –