SSH @Ubuntu 10.04 x64

R

reaper2k11

Gast
Hallo,
was muss man alles einstellen, damit der Host von außen erreichbar ist?

Unter /etc/ssh existiert nur ne leere ssh.config
 
Zuletzt bearbeitet:
Öffne den Paketmanager und versuch die defekten Pakete zu reparieren (gibts nen extra Eintrag dafür). Hast du noch andere Paket Sources hinzugefügt?

[Nachtrag]
Hat sich dein vorheriger Post geklärt?

Du musst grundsätzlich die SSH Benutzer zu der jeweiligen Gruppe hinzufügen. Was in die ssh.config rein muss, kann ich dir nicht genau sagen. Ich könnte dir ne Kopie von nem Debian Server machen.

Auf dem Debian Server gibt es keine ssh.config, sondern eine ssh_config und eine sshd_config. Die sshd_config scheint relevant zu sein, die ssh_config kann vermutlich weggelassen werden.
 
Zuletzt bearbeitet:
Hallo andy_0,
oh^^, ich dachte da noch kein Post war und sich das Problem gelöst hatte, habe ich den Thread als eine weitere Frage umgebaut.

Also es gibt ja mehrere ssh einstellungen in der ssh_config

Jetzt stellt sich die Frage welche davon alle eingeschaltet werden müssen (# entfernen).
Ich bin noch ziehmlicher Linux Newb und beschäftige mich daher in einer VM

Eine copy vom Debain Server wäre interessant, ja
 
Hab oben auch gerade noch mal nen Nachtrag hinzugefügt ;-).

Wie bereits gesagt, ist eher die sshd_config relevant. Dort kannst du einiges konfigurieren. In der ssh_config lassen sich nur sehr spezielle Konfiguration vornehmen. Aber direkt ändern MUSST du nichts, es sollte funktionieren, sobald du nen Nutzer hast, der in der SSH Gruppe ist.
 
ja ich hab mich auch gerade wegen einer sshd_config gewundert. Ich denke die sshd ist die openssh-server Variante, weil es diese bei mir nicht gibt und nicht installieren lässt.

Er meckert, weil angeblich das Package ssh fehlt
 
Es scheint so, als hättest du deine Pakete ein bisschen durcheinander gewurschtelt ;-). Hast du schon probiert, die Paketfehler zu beheben? Evtl. kann das löschen des problematischen Paketes helfen. Es müssten beide Konfigurationsdateien vorhanden sein. Die sshd ist definitiv für den Server, ka ob die ssh für den Client, Server oder beides vorhanden ist. Ich vermute mal, du willst den Server aufsetzen?
 
also ich hab mir das rpm paket installiert, da ich dachte ich kann die java-rpm version damit öffnen :freak:. Naja hab mir dann die tar.gz gesaugt und wohin gemove(d).



Welches Paket meinst du? Das rpm löschen?
 
Wieso bitte ein RPM Paket? Das ist für Red Hat und die darauf basierende Distributionen wie z.B. Fedora. Ubuntu basiert auf Debian und verwendet dpm bzw. dpkg als Pakettool.

Ergo: RPM-Paket löschen. Das ssh sollte bereits im APT enthalten sein. Du müsstest es theoretisch mit "sudo apt-get install ssh" installieren. Das wäre alles, was du hättest machen müssen :). Dass ssh ist ein metapackage, was sowohl den Client als auch den Server installiert (der Client sollte eh schon drauf sein).

Du könntest probieren "sudo apt-get remove openssh-client" und dann den Installationsbefehl für ssh (bitte zuerst probierne, ob es so geht und dann den client deinstallieren). Dann sollte das System nicht mehr meckern, das es nicht updaten kann, da es keine alte Version mehr gibt.

Java ist vermutlich ebenfalls im Repository vorhanden. Google aber zur Sicherheit mal "install java on ubuntu". Vermutlich ist es nur ein "sudo apt-get install java" bzw. es ist sowieso schon installiert.
 
ah wunderbar :D

nachdem ich ssh-client entfernt hatte, ging auch das ssh Paket, was vorher ebenfalls nicht ging.
Wenn ich jetzt im Verzeichnis /etc/ssh nachschaue, gibts es jetzt auch das sshd_config und weitere Dateien

Mal schauen wie weit ich komme, bis ich wieder nen Problem hab :P
Ergänzung ()

Die Seite werde ich mir mal durchlesen, Danke

Nochmal ne Nebenfrage.
Aus Sicherheitsgründen deaktiviert man doch den Root User oder? Wie kann ich den stilllegen?

Weil mit sudo Befehl kann ich mit jedem User sowieso genausogut arbeiten (oder?)

Und ich habe mal irgendwo gelesen, dass es auch widerum sicherer wäre wenn man die PasswortAutentifikation ausschaltet und dann mit nem PrivateKey arbeitet.
Der Hacker müsste dann quasi auf den Rechner des Besitzers und ihn erstmal finden?
BruteForce via SSH sollte damit ja dann nicht mehr möglich sein.

Stimmt das auch?
 
Mit sudo kannst du genauso gut arbeiten bzw. mit su könntest du sowieso in den root wechseln (su steht für switch user, default ist der root user). Du musst nur aufpassen, das der jeweilige Benutzer auch in der sudo Liste steht (/etc/sudoers). Also zuerst den neuen Benutzer ausprobieren, bevor man sich den einzigsten funktionierenden Zugang sperrt ;-).

Die Idee ist folgende: Mit sudo erhält der aktuelle User Root-Rechte für diese eine Anwendung (z.B. im Terminal, aber auch nur für ne gewisse Zeit). Mit su kannst du hingegen zu jeden beliebigen User wie z.B. root wechseln. Das sollte man eher nicht machen, sudo ist da deutlich "eleganter". Dieses sudo hat Microsoft ab Windows Vista quasi auch implementiert. Dieses UCC ist nichts anders als eine Anfrage nach Administrationsrechten ohne den eigentlichen User zu wechseln. Näheres wieder unter wiki.ubuntuusers.de (http://wiki.ubuntuusers.de/sudo).
Du kannst mit gksu übrigens ganze Anwendungen über SSH starten und auf dem Client graphisch anzeigen lassen. Recht praktisch :-). Die Anwendung läuft auf dem Server, das graphische Frontend wird jedoch auf dem Client angezeigt.

In der sshd_config kannst du den root deaktivieren. Weiß nciht genau welcher Flag, ist jedoch selbsterklärend. Im Notfall suchst du einfach mal in Internet. In der seleben Datei kannst du auch den SSH Port ändern. Für ne VM ist das naütlrich alles nicht notwendig. Wenn du den Port änderst, musst du den Port mit spezifizieren. Näheres steht in "man ssh". Den Benutzer musst du ebenfalsl mit angeben. Würde dann z.B. so gehen: "ssh user@IP". Den Passwortzugriff deaktivierst du ebenfalls in der sshd_config. Davor musst du dir jedoch ein Key anlegen und diesen in /etc/ssh hinterlegen.

Ja, ein Schlüssel ist relativ sicher. Die 128, 256 Bit oder mehr sind schon sehr schwer (lies: "unmöglich") mit Brute Force oder Dictionary Angriffen zu knacken. Wenn der Loginname und der Port nicht bekannt ist, ist es aber so schon fast unmöglich, außer jemand forscht dich gezielt.
 
Zuletzt bearbeitet:
Nunja, da macht es doch Sinn, den SSH Port zu ändern ja? wie well known Ports ausser 22 kann ich nicht mehr nutzen. Also muss ich einen über - 1024 - 65536 nehmen.
In der sshd_config fand ich bisher nur die setting, um leere passwörter nicht zu akzeptieren; das würde dann gut zum root passen. PermitRootLogin , *juhu* root setting gefunden

Ich denke mal ich werde einen 512 Bit mit RSA nehmen :) AES-Befehlssätze sind ja auch in CPU's eingebaut, womit AES schneller zu entschlüsseln ginge.

vermute mal dass ich dann hier den key eintragen muss:
#AuthorizedKeysFile %h/.ssh/authorized_keys
AuthorizedKeysFile %h/.ssh/mein_privater_512bit_key ?


mmh also dem root habe ich aber schon mit su eins zugewiesen. Wie geht das wieder rückgängig?
Und das ist wirklich standardmäßig, dass der Root null hat?

gksu -w -u funzt bei mir nicht im putty.
 
Nein. Diese Datei enthält eine Liste mit erlaubten Keys. Ich weiß es nicht genau, ich glaube jedoch, dass du in diese den jeweiligen Key eintragen kannst. Evtl. ist dies jedoch nur für den Client zuständig. Auf der Wiki Seite für SSH steht alles drinne, was du tun musst.

Ahh, wenn du putty verwendest wird es wohl nicht funktionieren. Selbst wenn, den Befehl gksu müsstest du erst installieren.

Der Root hat immer 0. Was meinst du mit "aber schon mit su eins zugewiesen"?
 
sry Schreibfehler.
Ich meinte mit su passwd habe ich schon ein root pwd zugewiesen.

Gibt es wohl Alternativproggis zu Putty - wo dann auch gksu läuft?
Also laut Softwarecenter ist das graphical frontend for su schon installiert.
 
Nein. Das Problem ist das Windows auf der anderen Seite läuft. Deswegen wird es vermutlich nicht laufen, da gksu "einfach" einen X Server Stream anfordert. Bei dir in Windows läuft aber kein X Server. In Linux stellt der X Server die graphische Oberfläche dar.

Du kannst dem root ruhig ein psw geben. Den Benutzer mit su wechseln macht jedoch nur sehr selten Sinn.
 
cool,
man kann ja sogar über Port 7 (Telnet) oder 80 (HTTP) als SSH gehen :O
Dachte das wird in irgendeiner Art und Weise geprüft und denied.

Ich habe später mal vor einen Linux gameserver aufzusetzen. Deshalb möchte ich mich jetzt ein Viertel Jahr vorher schonmal intensiv damit beschäftigen. Daher auch meine Sorge wegen dem Root Pwd (ja oder nein) :)

Ich gehe hauptsächlich auf den Server um quasi das gem zu starten und um evtl Backups in Form von Kopien zu machen. Daher denke ich wäre der Normalo-User ausreichend.


Mir macht das seit gestern unwahrscheinlich viel Spaß, da bisher sehr viel funktioniert, was ich vorher nie konnte. Gut, ich musste mich auch einige Stunden in der Nacht einlesen und Fehler suchen, aber vieles geht jetzt :)

Evtl möchte ich noch mit iptables arbeiten.

Was jetzt noch nicht funktioniert ist die Key Authentification. Aber das mache ich dann denke ich nachher :)

Gibt es auch eine Art Statistik, welche Duistributionen so verwendet werden? (welche ist sicherer...)
 
Zuletzt bearbeitet:
Es gibt Distrowatch (http://distrowatch.com/), dies ist jedoch nur für Clients aussagekräftig, wenn überhaupt.

Als Server OS setzt man für gewöhnlich Debian Server (Linux) oder FreeBSD (Unix) ein. Systeme wie Ubuntu Server sind Spielzeug.

Das tolle an Linux ist die sehr gute Dokumentation. Wenn man erstmal nen paar grundlegende Befehle drauf hat, läuft es relativ gut. Der Befehl für die Hilfedatei ist "man befehlnahme" (z.B. man ssh). Außerdem gibt es im Internet sehr viele Informationen. Das Wiki von Ubuntuusers ist sehr gut. Es ist oft auf Debian übertragbar, da Ubuntu auf Debian basiert.

Setz ein sicheres Passwort für root und andere verwendete Nutzer. Alle anderen Benutzer (bis auf einen primären) müssen so erstellt werden, dass sie sich nicht anmelden können (z.B. "/dev/null" als Login-Shell). Setze SSH auf einen Port >10000, Key Auth aktivieren und stelle Root Login aus. Du benötigst verschiedne Nutzer. So z.B. einen User ts3, womit der TS3 Server läuft, wenn du einen installierst. Und dann eben einen User Namens xy für die Anwendung XY. Wird ein User/eine Anwendung komprommitiert, hat der Angreifer jeweils nur Zigriff auf die Daten des jeweiligen Nutzers also z.B. auf die Konfiguration für TS3.

Die Verwendung von iptables ist schon möglich, jedoch nicht zwangsläufig sinnvoll. Du musst das alles entsprechend Konfigurieren. Besser ist es, einfach nur die Dienste laufen zu lassen, die du wirklich verwenden möchtest.
 
Zurück
Oben