Match-Zeilen in der sshd-Konfiguration

Friday, October 21st, 2011

Mit dem Pradikat Match kann man in der sshd_config Blöcke beginnen, sodass die innenstehenden Regeln nur für bestimmte Clients oder Nutzer gelten. Leider ist in der Manpage nirgeds genau vermerkt, wie man diese auch wieder schließen kann, bzw. man wird darauf verwiesen, diese ans Ende der Konfigurationsdatei zu stellen.

Wem das zu unübersichtlich ist, der kann nach seinen Zeilen, die nur für den Match gelten sollen, einfach nochmal Match aber ohne Paramter schreiben, sodass darauffolgende Zeillen immer zutreffen.

Beispiel:

PermitRootLogin no
Match Host foo.bar
PermitRootLogin without-password
Match
PermitEmptyPassword no

So gilt in diesem Beispiel erstmal für alle Hosts, dass man sich nicht als root anmelden darf, für den Host foo.bar wird dies abgeschwächt auf publickey-Authentifikation. Alle Regeln, die dann folgen, wie hier z.B. PermitEmptyPassword gelten dann wieder für alle Hosts.

SCP - abgebrochene Downloads fortsetzen

Friday, January 30th, 2009

Schon mal versucht abgebrochene Downloads per scp wieder aufzunehmen? Geht nicht! Obwohl das bei großen Files durchaus sehr sinvoll sein könnte. Zum Glück gibt es ja reichlich Alternativen, rsync zum Beispiel.

Wenn ihr das mit scp machen wolltet:

1
scp zu_kopierende_file user@example.org:/pfad/oder/dateiname

So Macht macht ihr das mit rsync:

1
export RSYNC_RSH=ssh rsync --progress --partial zu_kopierende_file user@example.org:/pfad/oder/dateiname

Das “export RSYNC_RSH=ssh” bewirk, dass das an sich unverschlüsselte rsync Protokoll, über SSH getunnelt wird. Das ganze ist also prinzipiell genauso sicher wie SCP. Der Schalter “–progress”malt euch noch eine schöne Fortschrittleiste.

Toll was alles geht :dancing:

Ich wünsche euch allen ein Schönes Wochenende!

David

Spaß maximieren, alles durch SSH tunneln mit Tsocks

Wednesday, July 16th, 2008

Hier habe ich erklärt wie man durch einen SSH tunnel (mithilfe eines SOCKS Proxy) sicher (und bequem), über einen unsicheren Kanal, surfen kann.
Das ist ja schon mal ganz schick, solange sich unsere Applikationen Native mit einem SOCKS Proxy unterhalten können.
Ist das aber nicht der Fall ist das etwas doof.

Da kommt Tsocks ins Spiel.
Das, schon etwas ältere Programm (das letzte release ist vom 2002-10-23 21:02 ), basiert auf dem “shared library interceptor” konzept, das bedeutet vereinfacht das tsock die “connect()” C funktion abfängt und mit seiner Eigenen überschreibt.

Tsocks bestimmt dann anhand der Einstellungen in der “/etc/tsocks.conf” (bzw. wohin auch immer $TSOCKS_CONF_FILE zeigt) ob die Verbindung über den SOCKS Proxy geleitet werden soll, also über die Tsocks eigene “connect()” Funktion, oder über die “normale”, welche in <sys/socket.h> bereitgestellt wird.

Dadurch agiert Tsocks quasi als ein “Wrapper”.

Zum Verständnis mal ein Beispiel (ich gehe davon aus das ihr einen SSH SOCKS Tunnel anhand dem HOWTO auf Port 8080 aufgebaut habt, ansonsten natürlich anpassen!!):

Inhalt von /etc/tsocks.conf:

server = 127.0.0.1
server_port = 8080

Falls ihr kein root Zugriff habt, könnt ihr die ganze Schose natürlich auch in eurem HOME speichern.

export TSOCKS_CONF_FILE=$HOME/.tsocks.conf # Exportiere config file pfad, damit er dem Programm bekannt ist

Inhalt von $HOME/.tsocks.conf:

server = 127.0.0.1
server_port = 8080

Beispiel ohne Tsocks:

$ telnet ip.hansis-braindump.de 80
Trying 87.230.15.76...
Connected to ip.hansis-braindump.de.
Escape character is '^]'.
 
GET /index.php?X=123 HTTP/1.1
Host: ip.hansis-braindump.de
HTTP/1.1 200 OK
Date: Wed, 16 Jul 2008 10:17:48 GMT
Server: Apache
X-Powered-By: PHP/4.4.4-8+etch6
Content-Length: 40
Content-Type: text/html charset=ISO-8859-1
 
155.56.xx.xx
 
155.56.xx.xx

Hier komme ich also direkt!

Beispiel mit Tsocks:

$ tsocks telnet ip.hansis-braindump.de 80
Trying 87.230.15.76...
Connected to ip.hansis-braindump.de.
Escape character is '^]'.
 
GET /index.php?X=123 HTTP/1.1
Host: ip.hansis-braindump.de
HTTP/1.1 200 OK
Date: Wed, 16 Jul 2008 10:17:48 GMT
Server: Apache
X-Powered-By: PHP/4.4.4-8+etch6
Content-Length: 40
Content-Type: text/html charset=ISO-8859-1
 
87.230.15.76
 
hansis-braindump.de

Hier komme ich über hansis-braindump.de

Weitere Beispiele:

tsocks dog http://www.google.com
tsocks netcat example.com 80
tsocks irssi -c irc.freenode.net -p 6667

Viel Spass :daumenhoch:

Keks

Surfen über sichere SSH Verbindung

Monday, July 14th, 2008

Es gibt Momente in denen vorherrschenden Netzwerkumgebungen nicht vertraut werden kann bzw. will (z.B. wenn man über einen unverschlüsselten WLAN Hotspot suft, so wie ich gerade (8-) ) , in solchen Momenten bietet sich (fast) immer SSH an (8-) .

SSH hat einen “eingebauten” SOCKS Proxy der sehr Trivial zu bedienen ist:

$ ssh -N -C -D port user@zielrechner

In meinem Wahlbrowser kann ich nun einfach einen SOCKS Proxy definieren.
Im Firefox kann ich das z.B. so tun:
Edit -> Preferences -> Advanced -> Network -> Settings -> Manual Proxy Configuration

Als SOCKS Proxy trage ich nun “localhost” bzw “127.0.0.1″ und als Port denselben wie oben.

Ich kann euch auch das Firefox Plugin “SwitchProxy” empfehlen dadurch wird das proxywechseln (vor allem wenn wir diese öfters wechseln :pirat: ) zum Kinderspiel!

Das tolle daran ist, das SSH ersten ein Standardtool ist und somit auf sehr vielen Linuxen/Unixen installiert ist, zweitens lange Konfigurationsorgien entfallen wenn mal fix ein SOCKS Proxy benötigt wird :) .

Legende:

(more…)

Backup mit rsync/ssh

Tuesday, December 25th, 2007

Kopieren/Backup’n übers Netzwerk mit scp/ssh ist schick.

Doch leider fehlen scp einige Funktionen.

Zum Beispiel muss auch bei kleinen Änderungen von nur einigen Kilo/Mega-byte an einer großen Datei (Gigabyte?), die gesamte Datei erneut übertragen werden. Das ist nicht so schick.

Da kommt rsync ins Spiel.

rsync ist ein Programm zur Synchronisation von Daten, meistens über ein Netzwerk.

Dabei werden nur die Teile der Referenzdatei übertragen die sich Tatsächlich geändert haben, wodurch natürlich viel Datenvolumen eingespart wird.

Mat

zeig wies geht:

linux:# rsync -e ssh -avzpogrltH /quell_ordner remotehost:/ziel_ordner

Legende:

-e benutzte Shell
-a archivieren
-v verbose
-z benutze Datenkompression
-p kopiere Rechte
-o kopiere Besitzer (nur mit root login)
-g kopiere Gruppe (nur mit root login)
-r rekursiv
-l kopiere Symlinks
-t kopiere Zeitstempel
-H kopiere Hardlinks

Keks

ftp Alternative?

Friday, November 23rd, 2007

ftp ist unsicher, wie wir wissen, und sollte nicht mehr benutzt werden. Aber gibt es Alternativen?
SSH  (sftp) fällt spontan ein, praktisch und sicher.

Als ftp Ersatz taugt es aber nicht viel, da doch einer der Hauptgründe ftp zu benutzen jener ist, das die User keine Shell bekommen, sondern nur Dateien rumschieben dürfen.
Der gewiefte Admin hat sich vielleicht den ein oder anderen Hack ausgedacht damit das doch klappt (Stichwort chroot-jail ) .
Für jeden der nicht so gewieft(1) bzw faul(2) (:wink:) ist gibt es das Tool scponly.

Scponly ist eine alternative login Shell, die es ermöglicht Dateien zu Lesen, zu Schreiben und rumzuschieben, aber keine Möglichkeit bietet Kommandos remote auszuführen.


Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien: