SSH ohne Passwort
SSH kann wahre Wunder vollbringen, vor allem, wenn man wie ich häufig auf verschiedenen Servern arbeiten muß. Nervig ist es allerdings, wenn man sich dutzende Passwörter merken muß — oder müßte, wenn man nur könnte. Glücklicherweise kann man sich auch ohne Passwort einloggen, wenn man zur Authentifizierung ein Schlüsselpaar verwendet.
Nun sind es eigentlich nur ein paar Handgriffe, um dies einzurichten. Und es ist auch reichlich dokumentiert. Aber man ist ja faul, und das Gedächtnis ist alt und schwach, also schreibt man sich geschwind ein kleines Shell–Skript, daß einem die Arbeit abnimmt.
#!/bin/bash
read -p "ID: " ID
read -p "Host: " HOST
read -p "Remote user: " USER
mkdir -p -m 0700 ~/.ssh/login/
mkdir -p -m 0755 ~/bin
# generate key pair without passphrase
ssh-keygen -t dsa -f ~/.ssh/login/$ID -N ""
cat ~/.ssh/login/$ID.pub | \
ssh $USER@$HOST \
"mkdir -p -m 0700 ~/.ssh; \
touch ~/.ssh/authorized_keys; \
chmod 0600 ~/.ssh/authorized_keys; \
cat >>~/.ssh/authorized_keys"
cat >~/bin/ssh-$ID <<EOF
#!/bin/bash
ssh -i ~/.ssh/login/$ID $USER@$HOST "$@"
EOF
chmod u+x ~/bin/ssh-$ID
Das Skript fragt nach einer ID, dies ist der Name, den man diesem „Login“ geben will. Außerdem noch den Hostnamen und den Benutzernamen, mit dem man sich dort einloggen will. Einmal muß man auch noch das Passwort eingeben — später soll man davon dann verschont bleiben.
Anschließend wird ein Schlüsselpaar erzeugt. Der Public–Key wird auf den Server kopiert und zur authorized_keys Datei hinzugefügt. Schließlich wird noch ein neues Skript ssh-ID generiert, daß den SSH Aufruf kapselt, um sich noch mehr Tipparbeit zu sparen. Dieses Skript wird ins Verzeichtnis ~/bin/ geschrieben, dieser Pfad sollte also zu PATH hinzugefügt werden.
Um mich also auf meinem Server odahoda.de anzumelden, brauche ich auf der Konsole also nur noch ssh-odahoda einzugeben, und schwupps bin ich drin. Und dito für zur Zeit sieben weitere Server, auf denen ich mehr oder weniger häufig meine Duftmarken hinterlasse.
Ein kleiner Sicherheitshinweis: Der Private–Key wird ohne Passphrase abgespeichert. Wenn sich also jemand Zugang zu diesem verschaffen kann, zum Beispiel durch direkten Zugriff auf die eigenen Computer, so erlangt diese Person automatisch Zugriff auf die entsprechenden Konten auf den anderen Rechnern!
- Geschrieben am 21 November 2006 um 22:28
Du ließt das Weblog von Benjamin Niemann.
Navigation:
Zuletzt geschrieben:
- MySQL Administration
- Lebenszeichen
- Wer fällt auf sowas 'rein?
- Spamming mit Anti-Spam Obfuskierung
- Erste Alpha Version von Valdente