Merkzettel: Linux Shell-Befehle
Hier sammle ich einige nützliche Linux Shell-Befehle.
tar|tar
Große Dateibäume mit tar-pipe-tar kopieren:
tar -cf - ./directory_name | (cd /to/target/ && tar -xf -)
Geht auch per SSH übers Netzwerk:
tar -cf - ./directory_name | ssh user@server "cd /to/target && tar -xf -"
SSH-Tunnel
Um durch einen SSH-Tunnel auf einen entfernten Dienst zugreifen zu können:
ssh -L<local-port>:<remote-host>:<remote-port> <user>@<server>
Note: <remote-host> ist dabei aus Sicht von <server> anzugeben.
Will man also auf Port 80 des Servers zugreifen und dafür z.B. den lokalen Port 8080 nutzen ergibt sich folgendes Beispiel:
ssh -L8080:localhost:80 user@server
SSH-Fingerprint
Verbindet man sich zum ersten Mal zu einem Host per SSH wird man aufgefordert den Fingerprint des Public-Keys des Hosts zu bestätigen, dieser wird dann in der know_hosts Datei gespeichert um spätere Main-in-the-Middle Attacks erkennen zu können.
Um den Fingerprint eines Hosts herauszufinden hilft folgender Befehl (auf dem jeweiligen Host):
ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub