Ich bin mir nicht sicher, ob die Frage, die ich stelle, richtig ist, aber im Grunde wollte ich diesen Prozess automatisieren
scp ~/.ssh/id_rsa.pub [email protected]:~/
ssh [email protected]
mkdir .ssh
cat id_rsa.pub >> .ssh/authorized_keys
rm id_rsa.pub
chmod go-w ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Also dachte ich, ich könnte ein Shell-Skript erstellen und es so in mein .bash_profile einfügen:function
setup_ssh () {
scp ~/.ssh/id_rsa.pub $1:~/
ssh $1
#the following is happens when connected to the server using ssh
mkdir .ssh
cat id_rsa.pub >> .ssh/authorized_keys
rm id_rsa.pub
chmod go-w ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
}
Aber das funktioniert natürlich nicht, weil es die Befehle nicht fortsetzt, wenn es einmal mit dem Server verbunden ist. Gibt es eine Möglichkeit, die Befehle fortzusetzen, sobald es über ssh mit dem Server verbunden ist?
Akzeptierte Antwort:
Fügt Ihre Identität zum Remote-Server hinzu und erstellt bei Bedarf auch einen ~/.ssh-Baum mit entsprechenden Berechtigungen.
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]