ssh mit chroot für ausgewählte Benutzer

Saturday, December 27. 2014

 Es gibt da eine aufmunternd kurze und im ersten test auch prompt funktionierende Anleitung, wie man für bestimmte user den ssh - Zugang in einen chroot jail lenken kann.

allanfeid.com/content/creating-chroot-jail-ssh-access

Einen Mangel sehe ich derzeit:

cd ~
#: cd: /var/jail/home/test-ssh: No such file or directory
 
Lösung: Das Problem war hier, dass für den user test_ssh als home-verzeichnis eben der absolute Pfad eingetragen war. auf /home/tet_ssh verkürzt klappt es wie erwartet.
 
Dass nächste Problem war, dass nach dem Kopieren von .bashrc und .bash_profile der Prompt  PS1="[\u@\h:\l \W]\\$ "  zu dieser Ausgabe führte:
[I have no name!@server:tty ~]$
Den Grund, weshalb \u nicht aufgelöst wird, habe ich nicht gefunden, aber den Workaround, stattdessen $USER einzutragen.
 
mc liess sich aufrufen, fand aber seine default - Skin nicht und verstand die Pfeiltasten der Tastur nicht. Ich musste im jail /usr/hare/mc und /usr/share/terminfo ergänzen. 
 
Damit auch scp gelingt, musste ausser /usr/bin/scp und den libs, die l2chroot kopiert, noch /lib64/libnss_files.so.2 kopiert werden, und ein symlink von /bin/bash auf /bin/sh war auch nötig. 
 
Ich habe anschliessend www.little-idiot.de/ChrootEntkommen.pdf nachzuvollziehen versucht, aber weder mit direktem scp noch verpackt in ein tar ist es mir gelungen, eine Datei mit root als owner in den jail zu kopieren. 
 
 
 

sshd: Connection closed [preauth]

Sunday, August 18. 2013

 Log-Spam, seitenweise die gleiche Meldung. 

sshd[(process)]: Connection closed by (IP) [preauth]

Rumgesucht, in wireshark sah ich immer den Dialog zwischen SSH-Server und Client, Schlüsselaustausch und dann wieder Abbruch.
Google fand nichts Beunruhigendes, jemand sah das gleiche Bild und der Anlass war bei ihm monit

Ok, und hier war es icinga mit seinem Test auf ssh...

ssh und tmux

Tuesday, March 27. 2012

 Slashdot hatte einen thread zu ssh mit einigen interessanten Hinweisen in den Kommentaren. Unter anderem den Hinweis auf tmux, wozu ich man FAQguides festhalten will.

icinga / nagios via IPv6

Wednesday, February 15. 2012

 Wie schon erwähnt kann der zu nagios gehörende nrpe kein IPv6 und der icinga-nrpe wollte bei mir einfach nicht laufen. Die zu überwachenden Rechner liegen aus Sicht von IPv4 recht disparat, manche im lokalen Lan, manche in einem entfernten Lan, dass per DSL angebunden ist, teils mit statischen IP bei einem Hoster. Alle haben aber IPv6 und so habe ich den Weg über check_by_ssh gewählt.

- ringsum apt-get install nagios-plugins-standard
- ringsum einen fuer die nagios-Abfragen dedizierten und ansonsten rechtlosen user (icingaremote:icingaremote) anlegen
- auf dem icinga-server fuer den user, unter dem der  server laeuft, ein private/public Schlüsselpaar erzeugen
   ssh-keygen -t rsa
- ringsum mkdir  /home/nagiosremote/.ssh und dort in authorized_keys den public key des erzeugten Schluesselpaars vom icinga-server ablegen
- zur Kontrolle vom icinga-server aus ssh auf die entfernten Rechner  ssh icingaremote@domain.tld

Wenn das soweit geht, auf dem icinga-server in /etc/icinga/objects eine clientx.cfg je remote client anlegen, in hostgroups.cfg Gruppen fuer Rechner mit identischen abfragen anlegen, in services_icinga.cfg service definieren,

 

define service {
        hostgroup_name                  remote-clients
        service_description             users logged in
        check_command                   remote-loggedin
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotified
}

in commands.cfg die konkreten commands definieren:
define command{
        command_name    remote-loggedin
        command_line    /usr/lib/nagios/plugins/check_by_ssh -H $HOSTADDRESS$  -6 -l icingaremote -i /var/lib/icinga/.ssh/id_rsa -C '/usr/lib/nagios/plugins/check_users -w 20 -c 50'
        }
 

Einzig der Test auf mysql auf dem localhost wollte partout IPv4...
 

 

tightvnc statt aufstehen

Friday, February 3. 2012

 Oft ist es ja nur der Rechner in der anderen Ecke des Lab, dessen desktop ich mal eben vor mir sehen möchte, und lieber nicht hinübergehen. Aber es funktioniert im wesentlichen ganz genau so mit einer Kiste, die hunderte Kilometer entfernt ist: eben mal vnc aufmachen.

Ich bin da, nach einigen Versuchen, mal auf tightvnc gestossen, der sich flink installieren und einrichten lässt und prima mit dem kdrc harmoniert. Und tightvnc laesst sich klaglos durch einnen ssh-Tunnel schicken, und das beruhigt schon. 

Ich gehe hier mal davon aus, dass zu dem entfernten Rechner ohnehin eine ssh-Verbindung besteht und Passworte dank authentification keys kein Thema sind.

Auf dem entfernten Rechner ist tightvnc schnell installiert, mit debian reicht ein

apt-get install tightvncserver  (als root)

und dann startet man den server zum initialisieren als der user, mit dem man auf dem entfernten Rechner aktiv sein will. 

vncserver

Man darf/muss ein Passwort festlegen, notieren! - man wird bei jeder Verbindung danach gefragt werden. Erstmal fertig.
Um jetzt konkret eine Session zu öffnen, gebe ich, als user, auf der console des entfernten Rechners

tightvncserver -nolisten tcp -localhost -geometry 1152x864 -nevershared :2
und kontrolliere den Erfolg mit
ps aux|grep vnc

Xtightvnc :2 -desktop X -auth /home/user/.Xauthority -geometry 1152x864 -depth 24 -rfbwait 120000 -rfbauth /home/user/.vnc/passwd -rfbport 5902 -fp /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgb -nevershared -nolisten tcp -localhost :2

der rfbport (5902) und die Nummer des desktops (:2) sind die beiden Daten, die ich in dieser Ausgabe kontrolliere, dann bin ich mit dem Server soweit fertig und wechsele zu einer Shell des lokalen Rechners, auch hier als passender user.

krdc vnc:/127.0.0.1:2 & ssh user@host.domain.tld -N -C -L 5902:127.0.0.1:5902

und pling öffnet sich der kdrc mit der Passwortabfrage und dann baut sich der entfernte Desktop auf. Bei langameren Verbindungen (dsl rauf und schmales dsl runter) vereinfacht es die Maussteuerung, wenn man im krdc oben "Local Cursor" aktiviert. 

(Page 1 of 2, totaling 6 entries) » next page