Remote Installation mit SSH & SCP: ssh-agent (pwd cachen) und 'always connec
Posted: 01. Aug 2006 13:42
Hi,
ich stehe gerade vor dem Problem Software auf etwa 1000 Server verteilen zu müssen. Ich habe mir einen RSA Key erzeugt und auf allen Rechnern abgelegt. Von einem Rechner möchte ich nun die Installationen per Skript durchführen, also:
for i in $(hosts...); do scp foo.rpm...; ssh $i "sudo rpm -ivh foo.rpm"; done
Das funktioniert so weit so gut. Das Problem ist nun, dann ich für jeden Server erstmal einen Eintrag in der .ssh/known_hosts Datei erzeugen muss, also bei der Verbindung die Frage "Are you sure you want to continue connecting (yes/no)?" mit yes beantworten muss. Kann man das automatisieren, so dass ich diese Frage nicht mehr selber beantworten muss? Ich habe in der man page nichts gefunden.
Das nächste Problem ist das cachen der Passwörter. Ich möchte nicht für jeden Server das PWD neu eingeben müssen (wie gesagt die Installationen sollen alle per Skript ablaufen). Also hatte ich den ssh-agent gestartet und meinen Key mit ssh-add hinzugefügt. Das funktioniert für einen Server scheinbar auch ganz gut; ich muss das Password jedenfalls nicht mehr eingeben. Wenn ich aber in der for Schleife das ganze über alle Server laufen lasse, kommen noch ständig Passwort Abfragen. Muss man hier den ssh-agent anders konfigurieren, oder liegt das daran, dass der Host noch nicht bekannt ist (im Sinne von .ssh/known_hosts, s.o.)?
Für ein paar Hinweise wäre ich dankbar.
ich stehe gerade vor dem Problem Software auf etwa 1000 Server verteilen zu müssen. Ich habe mir einen RSA Key erzeugt und auf allen Rechnern abgelegt. Von einem Rechner möchte ich nun die Installationen per Skript durchführen, also:
for i in $(hosts...); do scp foo.rpm...; ssh $i "sudo rpm -ivh foo.rpm"; done
Das funktioniert so weit so gut. Das Problem ist nun, dann ich für jeden Server erstmal einen Eintrag in der .ssh/known_hosts Datei erzeugen muss, also bei der Verbindung die Frage "Are you sure you want to continue connecting (yes/no)?" mit yes beantworten muss. Kann man das automatisieren, so dass ich diese Frage nicht mehr selber beantworten muss? Ich habe in der man page nichts gefunden.
Das nächste Problem ist das cachen der Passwörter. Ich möchte nicht für jeden Server das PWD neu eingeben müssen (wie gesagt die Installationen sollen alle per Skript ablaufen). Also hatte ich den ssh-agent gestartet und meinen Key mit ssh-add hinzugefügt. Das funktioniert für einen Server scheinbar auch ganz gut; ich muss das Password jedenfalls nicht mehr eingeben. Wenn ich aber in der for Schleife das ganze über alle Server laufen lasse, kommen noch ständig Passwort Abfragen. Muss man hier den ssh-agent anders konfigurieren, oder liegt das daran, dass der Host noch nicht bekannt ist (im Sinne von .ssh/known_hosts, s.o.)?
Für ein paar Hinweise wäre ich dankbar.