Ich bin neu bei Ubuntu und habe mich beim Remote-Server meiner Institution angemeldet, nachdem ich ein privates/öffentliches Schlüsselpaar generiert hatte. Nachdem ich dem Administrator den öffentlichen Schlüssel geschickt hatte, wurde mir ein Benutzername zugewiesen. Ich hätte mich anmelden können, ssh myusername@servername
indem ich den Namen des Servers durch die IP-Adresse ersetze.ssh [email protected]
Als ich nun eine Datei hochladen wollte, habe ich Folgendes versucht:
scp ~/myfile.rds myusername@servername:/home/myusername/
...was mir eine Nachricht einbrachte Permission denied (publickey). lost connection
. Der Administrator schlug vor, es noch einmal zu versuchen und dabei den Servernamen durch die IP-Adresse zu ersetzen. Das macht Sinn, aber trotzdem die gleiche Antwort.
Meine Konfigurationsdatei, die \\wsl$\Ubuntu\home\myUbuntuUsername\.ssh
zusammen mit den beiden Schlüsseln unter gespeichert ist, lautet:
Host servername
HostName xxx.xx.x.xx
Port 22
User myusername
IdentityFile ~/.ssh/id_ed25519
...wo ~/.ssh/id_ed25519
ist der Pfad zum privaten Schlüssel. Was könnte ich falsch gemacht haben?
Antwort1
Die Angabe des Benutzernamens in Ihren ssh
und scp
Befehlen sollte nicht notwendig sein, da der Wert bereits in Ihrer ~/.ssh/config
Datei enthalten ist. Stattdessen können Sie Folgendes tun:
ssh servername
Denn scp
es ist das Gleiche:
scp myfile.gz servername:/path/to/save
Alternativ können Sie die Schlüsseldatei zur Verwendung mit Folgendem übergeben -i
:
scp -i ~/.ssh/id_ed25519 myfile.gz [email protected]:/path/to/save