ssh-tunnel usern den shellzugriff verwehren

[ geschrieben am 06.11.2009 in blog: der maschinist | tags: #, #, # ]

ssh hat sich als allround-protokoll etabliert: man loggt sich damit nicht mehr nur auf entfernten konsolen ein, sondern baut x-sessions auf, tunnelt dienste durch firewalls hindurch und kopiert daten per scp/sftp.

will man einem user den zugriff auf seinen linux-server zum zwecke des ssh-tunnelns gewähren, muss man ihm für gewöhnlich auch einen shell-zugriff geben, was im zweifelsfalls leider sicherheitstechnisch bedenklich werden kann. ein workaround ist folgener…

man lege ein script, z.b. unter /scripts an:

#!/bin/bash
#ssh_tunnel_shell_loop.sh
clear
limit=1000
a=0
echo "You are connected to the system. Hit Ctrl+C to close this connection."
while [ $a -le "$limit"  ]
do
    echo $(date +"%Y-%m-%d %T")
    sleep 60
done

dieses script wird dann mit dem befehl…

chmod 755 /scripts/ssh_tunnel_shell_loop.sh

…vor der veränderung durch andere abgesichert.

nun wird in die shell des users in /etc/passwd wie folgt angepasst:

micha:x:1006:1006:Michael Muster,,,:/home/micha:/scripts/ssh_tunnel_shell_loop.sh

von nun an sieht der user beim login per ssh nur noch die im script hinterlassene meldung sowie minütlich die aktuelle uhrzeit.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.