• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

SSH macht mir Probleme

Hi!

Möchte mich gerne von meinem MacBook auf den Server der Uni (per SSH) einloggen, damit ich die dortigen Programme nutzen kann.

Ich habe Folgendes gemacht:

(1.) X11 geöffnet

(2.) Key generieren und Passwort angelegt:
Code:
ssh-keygen -b 2048 -t rsa


(3.) "Authorization" - Datei sicher anlegen:
Code:
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod u=rwx ~/.ssh
chmod go-w ~


(4.) "Authorization" - Datei füllen:
Code:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Eigentlich müsste ich jetzt nur noch den
(5.) Private Key verwenden:
Code:
ssh -i .ssh/id_rsa me@zielhost

eingeben, dann müsste ich das Passwort eingeben und fertig. Aber Schritt (5) klappt leider nicht, es wird gesagt:
Code:
Permission denied (publickey,hostbased)


Was mache ich falsch? Das ist eine Anleitung von der Uni und ich habe alles haargenau befolgt.
 

marce

Guru
* die authorized_keys-Datei muss auf dem Server / Ziel-Rechner angelegt werden - das geht aus dem Posting nicht so recht hervor...
* Rechte 600
 
OP
N

neuling_linux

Newbie
Habe das mit

scp ~/.ssh/id_rsa.pub me@zielhost

gemacht.

Aber wenn ich jetzt

ssh me@zielhost

mache, kommt die gleiche Fehlermeldung wieder.
 

marce

Guru
dann leg die Datei und das Verzeichnis auf dem Server doch von Hand an - 'ne Anleitung hast Du ja.

... oder schau, wo die Datei von Deinem ersten Kopierversucht gelandet ist - vermutlich direkt in Deinem ~-Verzeichnis.
 
OP
N

neuling_linux

Newbie
Sorry, ich bin absoluter Neuling und weiß nicht, wie ich das von Hand auf dem Server anlegen kann.

Kannst du es mir sagen?
 

marce

Guru
Leg die Datei auf dem Serveran, gib ihr die richtigen Rechte und kopiere den Inhalt Deiner lokalen id_rsa.pub über die Zwischenablage rein. Editor - je nach Belieben.
 

uhelp

Member
Falls du wirklich Publickey Authentication verwenden willst (bei hostkey sieht die Sache etwas anders aus; ggf. Uniadmin fragen),
dürfte dein Problem klein sein

Du hast den Befehl
Code:
scp ~/.ssh/id_rsa.pub me@zielhost
verwendet. Und der kopiert schlicht gar nix.
Wenn du dazu ein -vvv verwendest, wirst du sowas sehen:
Executing: cp -- ./extglob me@zielhost
Damit wird rein lokal von deiner Tastatur kopiert, von der nix kommt.
(Ja, das ist etwas doof gemacht; er sollte eigentlich maulen.
Korrekt wäre der Befehl
scp ~/.ssh/id_rsa.pub me@zielhost:
Der würde dann in das Home von me auf zielhost die Datei kopieren.
Erst der abschliessende Doppelpunkt macht die Angabe zu einem gültigen Pfad auf dem Server.
Und es wird dabei RELATIV vom Home des Users ausgegangen.
Ein scp ~/iwas me@zielhost:/etc/ würde iwas -jetzt vom tatsächlichen Root ausgehend- nach /etc kopieren
Ein scp ~/.ssh/id_rsa.pub me@zielhost:.ssh/ wäre der korrekte Befehl, um die Datei in das Unterverzeichnis .ssh des Homes von me zu kopieren.

Ich denke aber, dass das so oder so nicht klappt, da du ja schon deinen Key in der DORTIGEN ~/.ssh/authorized_keys bräuchtest.
Und der Server lässt dich nur rein, wenn du entweder publickey oder hostkey hast.
Auch ssh-copy-id, was nichts anderes macht, als deinen Key in die Datei dort einzutragen, wird nicht helfen.
Dazu müsstest du halt erst rein kommen.
Also diesen Publickey auf Stick mit in die Uni nehmen, und dort händisch hinzufügen.
Und zwar im ~/.ssh/authorized_keys des Users me.

Du kannst auch eine ~/.ssh/config in deinem client anlegen. Das spart dann ein paar Tastendrücke.
Das sind alles Textdateien, die config und die authorized_keys, die du einfach anlegen kannst, wenn sie noch nicht existieren.

Code:
host MeinSpezialName
   hostname myhost.myuni.de
   port 22
   user me
Das ist eine Freiformatdatei. Die Einträge für beliebig viele Hosts enthalten kann. Ich verwende der besseren Lesbarkeit halber Leerzeichen zur Einrückung. Eine Host Sektion reicht von der Zeile mit host am Anfang bis zum nächsten host - Eintrag. Nach host kommt ein Name, den du frei wählen kannst. z.B. wrdlbrmpfd
Existiert diese Datei kannst du mit scp und ssh sogar die Bashcompletion verwenden. Da funktioniert auch mit den Directories und Dateinamen auf dem Server.
Danach kommen alle Angaben, die du so brauchst.
Gültig ist alles, was du bei ssh oder scp auch als Option angeben kannst.

Ein ssh m<tab><return> würde dann künftig genügen, um dich sofort mit dem Server zu verbinden.
 

marce

Guru
neuling_linux schrieb:
Wie lege ich die Datei denn auf dem Server ab? Ich komme ja nicht auf den Server rauf.
ein einfaches ssh user@server mit Login + Passwort geht nicht?

-> Ja - alles gut, Du kannst loslegen (mit Datei anlegen und befüllen und so)
-> Nein - Doof. Dann musst Du es direkt an der Uni auf dem Server machen.
 
Oben