
Ich muss in der Lage sein, ein Schlüsselsystem ohne Interaktion einzurichten ssh
. Dabei ist es mir egal, ob Pakete installiert werden müssen oder Passwörter im Klartext vorliegen.
ssh
Wie kann ich ein System erstellen, das ein Schlüsselsystem einrichtet , das ssh
es Maschine A ermöglicht, sich über SSH-Schlüssel ohne Interaktion mit Maschine B zu verbinden und umgekehrt?
Antwort1
Hier ist der reine Code (Kopieren und Einfügen wird NICHT FUNKTIONIEREN!!! Ändern Sie Dinge wie my-username
undmy-ip
). Führen Sie auf beiden Hosts Folgendes aus:
#!/bin/bash
apt-get -y install sshpass
ssh-keygen -p -N "" -f ~/.ssh/id_rsa
sshpass -p 'my_password' ssh-copy-id my_username@my_host_2
Ersetzen my_host_2
durch my_host_1
auf Maschine 2.
Erläuterung:
Die erste Zeile #!/bin/bash
wird Shebang genannt.Hierfür mehr Informationen.
Die zweite Zeile wird sshpass
ohne Interaktion installiert.
Die dritte Zeile dient ssh-keygen
zum Erstellen eines Schlüssels. -q
bedeutet „leise“, da nicht so viele Fragen gestellt werden. -N ""
bedeutet „kein Passwort“ und -f
bedeutet, es am Standardspeicherort zu speichern.
Die letzte Zeile kopiert den eigentlichen Schlüssel mit ssh-copy-id
und sshpass
. Sie können echo
das Passwort nicht über verwenden stdin
, daher verwenden wir sshpass
das am nächsten kommende Äquivalent. -p
ist das zu verwendende Passwort. Das Argument an ssh-copy-id
ist der Benutzername und Host, auf den der Schlüssel kopiert werden soll.