Ich möchte eine passwortlose SSH-Verbindung für ein Subversion-Projekt herstellen. Im Moment benutze ich ssh + svn und es ist ein bisschen nervig, weil ich das Passwort jedes Mal eingeben muss, wenn ich mit dem Server Geschäfte abwickeln möchte.
Ich habe im Internet mehrere Tutorials zum Generieren eines Schlüssels für passwortloses SSH gefunden, aber alle scheinen davon auszugehen, dass ich auf dem fernen System denselben Benutzernamen verwende wie auf meinem Heimsystem. Der Benutzername, den ich für ssh + svn verwende, unterscheidet sich jedoch von dem Namen des Benutzerkontos auf dem von mir ausgeführten System. Wie richte ich das richtig ein? Ich hatte kein Glück, nur den Namen in der Schlüsseldatei zu ändern.
quelle
.ssh/id_rsa.pub
und auf den Remote-Server hochzuladen. Als ich es geschafft habe, endete es mit localusername @ localsystem. Das sollte in remoteusername @ remotesystem geändert werden, oder? Sowohl vor Ort als auch aus der Ferne?id_rsa.pub
bisauthorized_keys
auf dem Remote - System. Es wird klappen.Hierfür gibt es zwei Möglichkeiten:
1) setze user @ in die svn url; Dadurch wird svn + ssh angewiesen, sich als dieser Benutzer anzumelden. Ich halte das aus Wartungssicht für eine schlechte Idee, da Dinge wie externe Geräte, die auf andere Teile des Repositorys verweisen, nicht richtig funktionieren.
2) mache eine ~ / .ssh / config (dokumentiert als ssh_config ) die so etwas sagt wie:
Auf diese Weise wird bei jedem Versuch, auf ein anderes System zu sshen, standardmäßig der andere Benutzer verwendet. Das ist praktisch für Sie, wenn Sie ssh manuell ausführen und wenn Sie svn verwenden.
quelle
Sie müssen nicht auf beiden Maschinen den gleichen Benutzernamen haben. Solange Sie den Schlüssel (
ssh-keygen
) generieren , müssen Sie die Zeile vom~/.ssh/id_rsa.pub
oder~/.ssh/id_dsa.pub
(je nach Schlüsseltyp) vom lokalen Server kopieren und~/.ssh/authorized_keys
an den Remote- Server anhängen .Wenn Sie nicht
remoteuser
jedes Mal Folgendes eingeben möchten~/.ssh/config
:PS. Der Name des Schlüssels kann in Form von sein,
localuser@localhost
aber es ist nur ein Name . Es kann genauso gut seinmyfavouritekey@myfavouritecomputer
und es würde niemanden interessieren.quelle
ssh-copy-id
oben erwähnten allgemeinen, aber nicht standardmäßigen Skripts. Ich erkenne es, weil nicht alle Systeme, die ich verwendessh-copy-id
, mitgeliefert werden. Deshalb habe ich so etwas mehr als ein paar Mal geschrieben. :)ssh-copy-id
. Ich benutze normalerweisevim
oderseahorse
;)Nachdem ich .ssh / config erstellt und ausgeführt habe:
Ich erhalte eine Fehlermeldung:
dann füge ich hinzu
chmod 600 .ssh/config
und danach läuft es reibungslos.quelle