Passwordless ssh mit anderem client user

Hi,

ich hab als client ein MacOs und einen Cents server, auf dem ich mich mit einem anderen User als mein lokaler per ssh einloggen will. Dazu will ich es vermeiden immer ein Password einzugeben.

Wie gehts das ? Ich finde (scheinbare) Lösungen im Netz nur die unter der Annahme sind, dass die beiden den selben User haben - oder ich verstehe es einfach nicht richtig.

Also MacOS mit User A
Centos Server mit User B

User A will sich als User B aufm Server per ssh anmelden ohne Passwort von User B einzugeben

Danke

Kommt auf den Client an.

I.d.R kann man den User über einen Parameter oder als Bestandteil der URL angeben. Mit URL sähe es ungefähr so aus: ssh userB@centosserver

Passwordless geht mit einem für User B erstellten Private Key. Diese Datei auf den Client kopieren und das Clientprogramm (wieder mit entsprechendem Kommandozeilenparameter) den Key senden lassen.

Ach ja, und den Hostkey des Servers initial in die accepted Keys importieren. Entweder einmalig interaktiv einloggen und accepten oder (je nach Client) den Hostkey ins entsprechende Verzeichnis ablegen.

d.h. ich erstelle zb ueber ssh-keygen fuer user B den privaten key ? und den leg ich dann im client wo hin ? im .ssh folder von User A ?

wie ich per ssh auf den server als user B komme ist mir klar, es geht um das passwordless

Da Du den Ablageort der Key-Datei per Kommandozeilenparameter angibst, ist es im Prinzip egal, wo die Datei liegt. Sie sollte halt möglichst nur durch User A gelesen werden können.

Edit: ~/.ssh ist der Defaultablageort für sowas. Insofern die beste Wahl. Es gibt je nach Client sogar Defaultdateinamen (bei Solaris identity). Habe aber keinen Mac, deswegen kenne ich ihn dafür nicht.

SSH ohne Passwort – eine kurze Anleitung
https://www.google.de/search?client=ubuntu&channel=fs&q=ssh+ohne+passwort&ie=utf-8&oe=utf-8&gfe_rd=cr&ei=vToVVo-8Nqir8wfOsqhg

Bitte aber nicht den Private-Key, sondern den Public-Key verschicken. Der User B sollte sich dafür dann diesen Public-Key in .ssh/authorized_keys eintragen. Noch eine Anmerkung, es macht Sinn den Private-Key zu verschlüsseln, da sonst jeder, der Zugriff auf den Computer von User A hat, sich Zugriff auf User B erschleichen kann.

[QUOTE=mogel]SSH ohne Passwort – eine kurze Anleitung
https://www.google.de/search?client=ubuntu&channel=fs&q=ssh+ohne+passwort&ie=utf-8&oe=utf-8&gfe_rd=cr&ei=vToVVo-8Nqir8wfOsqhg[/QUOTE]
ich weiss… wie ich aber schon gesagt habe, verstehe ich alle Anleitungen immer als User A meldet sich vom Client an Server als User A an…

ne google Antwort ist nicht passend - sollte klar sein dass ich das schon hinter mir habe

versteh ich nicht, es geht doch immer nur um sepp@sepprechner, der sich an hans@hansrechner anmeldet - und genau das leistet doch der Mechanismus mit ssh-keygen, .ssh/authorized_keys usw? Wo genau ist denn das Problem?

meine Ignoranz ? wie gesagt, mein Wissen ist da etwas beschränkt. Natürlich geh ich davon aus, dass es mit ssh-keygen etc geht, ich lebte nur bisher immer in der Annahme, dass alle Links die ich gefunden habe beschreiben wie sich sepp@sepprechner als sepp@hansrechner anmeldet.

Falsche Annahme :slight_smile: Wenn du bei der Google-Suche oben genauer gelesen hättest, hättest du oft a@A und b@B gefunden.

Den remote-Username kannst du bei slogin/ssh immer mit angeben, oder in der config-Datei dem Host fest zuordnen.

SSH Passwordless Login Using SSH Keygen in 5 Easy Steps

nur sepp ist nicht gleich sepp - sepp@sepprechner hat Admin-Rechte aber sepp@hansrechner hat nur User-Rechte

selbst die User-ID muss bei beiden Rechner nicht identisch sein

Mal spezifisch zu “passwordless”: ich muss gestehen ich finde es grob fahrlässig login-Daten ungesichert irgendwo “rumliegen” zu haben. Ob ich nun einen nicht-verschlüsselten private-key habe oder per Parameter das Passwort plain angebe und in ein Script packe … so lange die “geschütze Information” ungesichert zugänglich ist könntest du eigentlich gleich alles wegwerfen. Wäre “genau so sicher” -> nämlich gar nicht.
Klar, das gilt jetzt erstmal nur für deine Kiste, extern komme ich immer noch nicht auf deinen Server. Was aber wenn ich einen Weg finde auf deinen Rechner zu kommen ?
Hier trifft wieder zu : Bequemlichkeit auf Kosten Sicherheit.
Unter Windows kann ich mit dem Putty-Agent ähnliches erreichen : ich gebe einmal den Schlüssel für meinen gesicherten private-key ein und dieser liegt dann auf unbestimmte Zeit frei zugänglich im RAM. Warum mach ich mir dann also die Mühe den Key noch extra durch Verschlüsselung sichern zu wollen wenn ich ihn doch bereitwillig wieder frei öffne nur um per one-klick aufm Server zu sein ?

Stell dir sowas mal bei Verisign für den Zugang zu den Master-Keys vom DNS-Root vor … gibt sicher einige die damit was ganz spezielles machen würden … und das wäre sicher nicht Verisign auf ihren Fehler aufmerksam zu machen.

btw: ja, auch ich bin teilweise bequem und habe z.B. meine SSL-Zertifikate unverschlüsselt rumliegen, halt eben auch damit die dazugehörigen Prozesse beim Boot automatisch starten können und kein lästiges interaktives manuelles Starten notwendig ist. Kann man aber auch so begründen : so lange die Dienste laufen und es ein Angreifer schafft sich passende Rechte zu holen kann er die Keys plain eh aus dem RAM ziehen. Völlige Sicherheit gibt es nur wenn man sein System komplett vom Netz trennt (und selbst dann ist man immer noch nicht “100%” sicher wie es einige proof-of-concept zeigen).

[quote=mogel]nur sepp ist nicht gleich sepp - sepp@sepprechner hat Admin-Rechte aber sepp@hansrechner hat nur User-Rechte

selbst die User-ID muss bei beiden Rechner nicht identisch sein[/quote]

Es sollte klar sein, dass die beiden Sepps NICHTS miteinander zu tun haben: wenn auf der remote-Maschine zufällig der gleiche Username verwendet wird, bedeutet das - ohne weitere Maßnahmen - gar nichts.

Ich kenne so Gerüchte, dass das teilweise sogar weit verbreitet ist: passwort-loses SSH ist eben so ziemlich die einzige Möglichkeit, remote ganz unkompliziert zu skripten,Ddaten hin und her zu schieben, also machen manche admins das gerne,…etc.

Neuer Consultant kommt, setzt sich an den Rechner, WHOAAAA,…wo man da überall hinkommt…

so geschafft - und wieder was gelernt… danke für die Geduld :slight_smile: