Plesk Login über SSH-Key

Hallo,

ich habe einen Server mit Ubuntu 8.04 und Plesk 9.3.

Auf den Server kann/darf man sich nur per SSH-Key einloggen. Ein Zugriff über SSH per Passwortauthentification ist nicht erlaubt/erwünscht.

Soweit so gut, mit einem Benutzer, den ich auf dem Server angelegt habe funzt das auch.

Nur, wie bekomme ich einen Pleskbenutzer dahin? Jeder Domainbesitzer soll sich per SSH auch mit einem Key einloggen und nicht per Passwort.

Habe einen entsprechenden Schlüssel erstellt und in /var/www/vhosts/domain/.ssh hinterlegt, nur kennt Linux natürlich diesen Benutzer nicht und ein login ist nicht möglich.

Geht das überhupt?

Hoffe Ihr versteht mein Problem und könnt mir helfen.

Gruß

Ulf
 
So, Lösung selbär gefunden. :D

man muß in die /etc/ssh/sshd_config folgende Zeile hinzufügen:

Code:
AuthorizedKeysFile %var/www/vhosts/.ssh/authorized_keys

Dann klappt es mit dem einloggen per SSH-Key.

*freu*

Gruß

Ulf
 
Hallo,

hab noch eine Frage:

Ich kann ja im Plesk mit "/bin/bash(chrooted)" den User an sein Home-Verzeichnis binden, so daß er nicht tiefer ins System eindringen kann.

Leider funktioniert dann aber der Login nicht mit dem SSH-Key.

Git es da eine Lösung?

Gruß

Ulf
 
Ungetestet:
Das Home-Verzeichnis bei einem chrooted User ist doch unter /var/www/vhosts/DOMAIN.TLD/
Da legst ein Verzeichnis .ssh mit dem Besitzer und der Gruppe psacln an. setzt das ganze auf 0700 und packst da die authorized_keys mit dem von dir erstellten Key rein.
Sollte dann klappen.
 
Hallo GwenDragon,

eben nicht. :mad:

Egal ob ich nun in der sshd_config nun "var/www/vhosts/.ssh" oder "var/www/vhosts/domain.xy/.ssh" schreibe, sobald ich im Plesk auf "bin/bash/chrooted" umstelle kommt die folgende Fehlermeldung:

'Die Serververbindung wurde unerwartet geschlossen. Der Server sendet den Befehlsbeendigungsstatus 0.
Kann das SFTP nicht initialisieren. Läuft auf dem entfernten Rechner ein SFTP Server-Programm?'

Stelle ich im Plesk auf "bin/bash/" funktioniert der SSH-Login mit dem Key. :confused:

Noch irgend welche Tipps?

Gruß

Ulf
 
Egal ob ich nun in der sshd_config nun "var/www/vhosts/.ssh" oder "var/www/vhosts/domain.xy/.ssh" schreibe
1. Wieso bitte schreibst du das in die sshd_config!? Welchen Grund gibt es?
Ein korrekt konfigurierter SSH-Server holt den Key aus ~/.ssh sprich $HOME/.ssh
Das ist das Home-Verzeichnis des eingeloggten Benutzers.

Auf einer chrooted Domain ist das dann unter /var/www/vhosts/domain.xy/

2. Wie? Du hast var/www/vhosts/.ssh eingetragen? Ohne den / am Anfang?
Das ist auch falsch.



Steht irgendwas im log für die SSH-Probleme? Ist wohl in /var/log/messages zu finden. Oder wo dein SSH-Dämon unter Ubuntu hinloggt.


Ich weiß nicht, was du für einen verkonfigurierten Server hast, aber auf einem meiner 1&1 CentOS VServer klappt das mit .ssh und einem chrooted Benutzer.

Mehr kann ich auch nicht sagen.
 
Hallo GwenDragon,

1. Wieso bitte schreibst du das in die sshd_config!? Welchen Grund gibt es?
Ein korrekt konfigurierter SSH-Server holt den Key aus ~/.ssh sprich $HOME/.ssh
Das ist das Home-Verzeichnis des eingeloggten Benutzers.

Auf einer chrooted Domain ist das dann unter /var/www/vhosts/domain.xy/

eben und da Domainuser nunmal ihr Homeverzeichnis unter "/var/www/vhosts/domain.tld" haben, dachte ich, ich müßte das eben zusätzlich eintragen.

Dies ist wohl nicht so, er finden die Key auch unter "/var/www/vhosts/domain.tld/.ssh/".

Soweit so gut, hab meine eingefügte Zeile entfernt und der Login klappt bei der Einstellung "/bin/bash/" weiterhin problemlos.

Stelle ich im Pleskmenue auf "/bin/bash/(chrooted)" geht der Login nach wie vor nicht!

2. Wie? Du hast var/www/vhosts/.ssh eingetragen? Ohne den / am Anfang?
Das ist auch falsch.

Da hast Du falsch gelesen, es stand "%var/www/..." genauso wie "%h/.."!!!

So wie ich es zusätzlich eingetragen hatte, klappte der Login ja auch. (bei "/bin/bash/")

Steht irgendwas im log für die SSH-Probleme? Ist wohl in /var/log/messages zu finden. Oder wo dein SSH-Dämon unter Ubuntu hinloggt.

Code:
Apr 26 12:45:00 xxxxxxx sshd[5548]: Accepted publickey for domin.tld from xx.xxx.xx.xxx port 1234 ssh
Apr 26 12:45:01 xxxxxxx sshd[5562]: subsystem request for sftp

Dies steht allerdings bei jedem Login, ob es nun geklappt hat oder nicht. :confused:

Ich weiß nicht, was du für einen verkonfigurierten Server hast, aber auf einem meiner 1&1 CentOS VServer klappt das mit .ssh und einem chrooted Benutzer.

Mehr kann ich auch nicht sagen.

Schön, das Du weißt, das mein ssh verkonfiguriert ist. Hellseher??? (zur Info, das einzige was ich dort geändert habe ist der Port und eben das zusätzliche .ssh-Verzeichnis!!!)

Ich denke eher, Du hast nicht verstanden, was für ein Problemchen ich habe!

Noch jemand einen Tipp?

Gruß

Ulf
 
Es ist so, dass Plesk bei Updates Probleme machen kann. Deswegen habe ich von verkonfiguriertem System geredet. War kein Vorwurf.
Du hattest deinen Server neu aufgesetzt oder migriert, wenn ich deine früheren Threads interpretiere.

1) Hast du schon versucht, in Plesk bei FTP chroot mit /bin/bash zu aktivieren, die Domain zu sperren, die Domain wieder freizugeben? Das hilft manchmal.

2) In der /etc/passwd steht dann der Domainbesitzer drin? Wenn ja, was steht hinten bei der Login-Shell?

3) Schreibt dein Ubuntu ein Log für xinetd?

4) In der /etc/xinetd.d/ oder in /etc/xinetd.conf steht was zum ftp?

Da ich kein so altes Ubuntu wie 8 mehr verwende und Debian 5 leicht anders als Ubuntu ist, kann ich nur so diffus fragen.
Tut mir leid, das wird dich vielleicht nerven oder es als sinnlosen Tipp empfinden.
 
Hallo GwenDragon,

Ok, dann nehme ich meinen Hellseher zurück. :D

Ja, ich habe/hatte einen jungfräulichen Server. Ganz Fisch äähhhh frisch aufgesetzt.

Ich habe bei Plesk im "ftp-Bereich" bin/bash(chrooted) aktiviert. Geht es denn noch woanders? *kopfkratz*

Deine Tipps werde ich morgen mal durchspielen und mich dann wieder melden.

Und grundsätzlich bin ich für jede Hilfe dankbar und nur ganz selten genervt. :cool:

Ob Dein Tipp sinnlos ist, werde ich dann morgen sehen. :rolleyes:

Gruß

Ulf
 
1) Hast du schon versucht, in Plesk bei FTP chroot mit /bin/bash zu aktivieren, die Domain zu sperren, die Domain wieder freizugeben? Das hilft manchmal.

Brachte leider keine Änderung.

2) In der /etc/passwd steht dann der Domainbesitzer drin? Wenn ja, was steht hinten bei der Login-Shell?

/var/www/vhosts/domain.tld: opt/psa/bin/chrootsh (ohne Leerzeichen zwischen : und o

3) Schreibt dein Ubuntu ein Log für xinetd?

Sagen wir es so, ich finde keine Logdatei mit Xinted. (heißt nicht, das er keine schreibt. ;-) )

4) In der /etc/xinetd.d/ oder in /etc/xinetd.conf steht was zum ftp?

Ja, da steht was zum ftp.... willste auch wissen was? *g

Code:
service ftp
{
   disable          = ftp
   socket_type  = stream
   protocol        = tcp
   wait            = no
   user            = root
   instances     = UNLIMITED
   server         = /usr/sbin/in.proftp
   server_args   = -c /etc/proftpd.conf
}

hmm, habe gerade mal umgestellt, das man sich auch wieder mit Passwort anmelden kann, da geht auch kein Login bei /bin/bash(chrooted)... da stimmt was nicht, nur mit wem und wo? :confused:

Gruß

Ulf
 
Hmm, nach diversen Googlebesuchen habe ich fast den Verdacht, das mein Plesk 9.3 gar kein ssh für chroot installiert hat bzw. bereitstellt.

Wie und wo kann ich das überprüfen?

Gruß

Ulf

P.S. Auf dem gesamten System ist ein SSH-Login nicht möglich, wenn im Plesk bei ftp "/bin(bash(chrooted)" steht. Egal mit oder ohne Passwortauthentification. :confused:
 
So, vergessen wir das ganz.

Ein SSH-Login mit Key ist möglich auf /bin/bash/. Damit gebe ich mich nun zufrieden.

Wer weiß, warum /bin/bash(chrooted) nicht mehr möglich ist. Mir doch egal. :p

Gruß

Ulf

P.S. Danke an alle die mir versucht haben zu helfen.
 
Back
Top