2009-09-07 7 views
7

Ich erstelle ein Bash-Skript, um neue EC2-Instanzen zu erstellen und dann eine Datei hochzuladen, sobald die Instanz erstellt wurde. Ich benutze scp, um die Datei hochzuladen, da dies das erste Mal ist, dass ich mich mit der Instanz verbinde, wird das Skript mit "Sind Sie sicher, dass Sie die Verbindung fortsetzen möchten (ja/nein)?" da die Authentizität des Hosts nicht bekannt ist. Das Skript muss nicht interaktiv ausgeführt werden.Nicht-interaktives scp

Ist es möglich, die Eingabeaufforderung zu vermeiden (es scheint keine offensichtliche Befehlszeilenoption zu geben). Wenn nicht, gibt es eine alternative Methode oder einen Befehl, den ich verwenden kann, um die Datei hochzuladen?

+0

Ich bin in der gleichen Situation. Ich habe eine große Menge an SCP's herum und habe das gleiche Problem. Ich habe viele Stunden untersucht, aber keine passende Lösung gefunden. Ich freue mich auf Antworten! – Malax

Antwort

9

Sie können die Option StrictHostKeyChecking auf Nr. in ~/.ssh/config einstellen. Siehe ssh_config(5)

+2

Ah, das ist eine sauberere Lösung als meine :-). Obwohl es wahrscheinlich viel sicherer ist, eine separate Konfigurationsdatei zu erstellen, die nur für das Skript verwendet wird, und dies mithilfe des Schalters -F festzulegen. –

+12

Dies kann auch über die Befehlszeile "scp -o StrictHostKeyChecking = no ..." erfolgen. –

0

Obwohl vielleicht nicht die endgültige und sicherste Lösung, könnten Sie versuchen, ein expect Skript zu schreiben.