<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>controlc.de &#187; ssh</title>
	<atom:link href="http://controlc.de/tag/ssh/feed/" rel="self" type="application/rss+xml" />
	<link>http://controlc.de</link>
	<description>mehr als nur ein Notizblock</description>
	<lastBuildDate>Mon, 16 Apr 2012 12:43:35 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>bash &#124; Abgestürzte ssh-Sitzungen beenden</title>
		<link>http://controlc.de/2011/09/20/bash-abgesturzte-ssh-sitzungen-beenden/</link>
		<comments>http://controlc.de/2011/09/20/bash-abgesturzte-ssh-sitzungen-beenden/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 12:21:40 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=2044</guid>
		<description><![CDATA[Ab und an reagieren SSH-Sessions nicht mehr und damit ist das komplette Terminal blockiert. Das liegt meist daran, das die Netzwerkverbindung unterbrochen wurde — sei es auf Grund von Netzwerkfehlern oder weil das Notebook in den Energiesparmodus gegangen ist. In solchen Fällen habe ich immer das Terminal-Fenster geschlossen, was ich ziemlich nervig fand (Stichwort: Fensteranordnung [...]]]></description>
			<content:encoded><![CDATA[	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2011/08/Absturz-SSH-Verkehrsschild.png" class="floatbox" rev="group:2044 caption:`Absturz SSH Verkehrsschild`"><img class="aligncenter size-medium wp-image-2060" title="Absturz SSH Verkehrsschild" src="http://controlc.de/wp-content/uploads/2011/08/Absturz-SSH-Verkehrsschild-300x281.png" alt="" width="270" height="253" /></a></p>
	<p>Ab und an reagieren SSH-Sessions nicht mehr und damit ist das komplette Terminal blockiert. Das liegt meist daran, das die Netzwerkverbindung unterbrochen wurde — sei es auf Grund von Netzwerkfehlern oder weil das Notebook in den Energiesparmodus gegangen ist. In solchen Fällen habe ich immer das Terminal-Fenster geschlossen, was ich ziemlich nervig fand (Stichwort: Fensteranordnung im <a href="http://www.iterm2.com">iTerm</a>). Irgendwann habe ich die <a href="http://blog.jozjan.net/2008/01/close-your-frozen-ssh-session.html" target="_blank">Lösung</a> gefunden, die ich Euch nicht vorenthalten möchte. Wenn man im Terminal-Fenster die Tasten [ENTER] [TILDE] und [PUNKT] der Reihe nach eingibt, wird die abgestürzte SSH-Session beendet und das Terminal freigegeben:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">↩~.</pre></div></div>

	<p>Da ich mir das nicht merken kann bzw. mir die Tastenkombination zu kompliziert ist, habe ich damit einfach <a href="http://www.ergonis.com/products/typinator/">Typinator</a> »missbraucht«</p>
	<p><a href="http://controlc.de/wp-content/uploads/2011/09/Typinator-SSH-session-abort.png" class="floatbox" rev="group:2044 caption:`Typinator - SSH session abort`"><img class="aligncenter size-medium wp-image-2067" title="Typinator - SSH session abort" src="http://controlc.de/wp-content/uploads/2011/09/Typinator-SSH-session-abort-265x300.png" alt="" width="265" height="300" /></a>So ist es mir möglich mit der Tastenkombination »XXX« jede hängende SSH-Session zu beenden.
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2011/09/20/bash-abgesturzte-ssh-sitzungen-beenden/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPhone &#124; Einzelne Daten aus dem Backup zurückspielen</title>
		<link>http://controlc.de/2010/08/26/iphone-einzelne-daten-aus-dem-backup-zuruckspielen/</link>
		<comments>http://controlc.de/2010/08/26/iphone-einzelne-daten-aus-dem-backup-zuruckspielen/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 16:13:38 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[iOS 4]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[OpenSSH]]></category>
		<category><![CDATA[restore]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1838</guid>
		<description><![CDATA[Der ultimative Tipp bei Geschwindigkeitsproblemen des iPhones ist immer das »auf Werkseinstellungen zurückstellen« — besonders bei neuen Major-Releases von iOS. Damit gehen leider auch immer alle Daten verloren. Die normalen Sachen wie Kalender, Adressen und Co. kann man wieder mit iTunes synchronisieren, aber was ist mit den SMS, der Anrufliste usw.? Um diese Daten wieder [...]]]></description>
			<content:encoded><![CDATA[	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2010/08/snail-iphone.png" class="floatbox" rev="group:1838 caption:`snail-iphone`"><img class="aligncenter size-large wp-image-1847" title="snail-iphone" src="http://controlc.de/wp-content/uploads/2010/08/snail-iphone-1024x602.png" alt="" width="491" height="289" /></a></p>
	<p>Der ultimative Tipp bei Geschwindigkeitsproblemen des iPhones ist immer das »<a href="http://www.macuser.de/forum/f122/installation-i-os4-534224/index3.html#post6181874">auf Werkseinstellungen zurückstellen</a>« — besonders bei neuen Major-Releases von iOS. Damit gehen leider auch immer alle Daten verloren. Die normalen Sachen wie Kalender, Adressen und Co. kann man wieder mit <em>iTunes</em> synchronisieren, aber was ist mit den SMS, der Anrufliste usw.?</p>
	<p>Um diese Daten wieder einzuspielen muss folgendes beachtet werden:</p>
	<ol>
	<li>Ohne Jailbreak geht gar nix.</li>
	<li>Backups werden von <em>iTunes</em> lokal überschrieben, wenn man nach dem Wiederherstellen auf das Einspielen des Backups verzichtet -  also den Backup-Ordner unter <em>/Users/BENUTZERNAME/Library/Application Support/MobileSync</em> immer sichern.</li>
	<li>Man braucht Geduld.</li>
	</ol>
	<p><span id="more-1838"></span>Zuerst schauen wir uns mal den Backup-Ordner an</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/08/iPhone-backup-folder.png" class="floatbox" rev="group:1838 caption:`iPhone backup folder`"><img class="aligncenter size-medium wp-image-1840" title="iPhone backup folder" src="http://controlc.de/wp-content/uploads/2010/08/iPhone-backup-folder-300x237.png" alt="" width="300" height="237" /></a>In dem Ordner Backup liegt also (mindestens) ein Ordner mit einer kryptischen Zahlen-/Buchstabenkombination als Namen. Diese Bezeichnung symbolisiert das Gerät. Innerhalb dieses Ordners liegen nun ein Haufen ebenfalls kryptisch bezeichneter Dateien. Es gibt zwar im Netz einige Zordnungen von Bezeichnungen zu Funktionen zu finden, aber ich möchte lieber einen anderen Weg aufzeigen. Dazu nutzen wir das Programm <a href="http://supercrazyawesome.com/">iPhone / iPod Touch Backup Extractor</a>, welches uns mit der sehr aufgeräumten Oberfläche begrüßt.</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/08/iPhone-Backup-Extractor.png" class="floatbox" rev="group:1838 caption:`iPhone Backup Extractor`"><img class="aligncenter size-medium wp-image-1841" title="iPhone Backup Extractor" src="http://controlc.de/wp-content/uploads/2010/08/iPhone-Backup-Extractor-300x300.png" alt="" width="300" height="300" /></a>Nachdem man auf den Button »Read Backups« gedrückt hat, sieht man eine Auswahlbox mit den vorhandenen Backups (in der Regel nur eins, in meinem Fall ist noch ein iPod zu sehen).</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/08/iPhone-Backup-Extractor-Auswahl-des-Backups.png" class="floatbox" rev="group:1838 caption:`iPhone Backup Extractor - Auswahl des Backups`"><img class="aligncenter size-medium wp-image-1842" title="iPhone Backup Extractor - Auswahl des Backups" src="http://controlc.de/wp-content/uploads/2010/08/iPhone-Backup-Extractor-Auswahl-des-Backups-300x224.png" alt="" width="300" height="224" /></a>Und hier erkennt man schon, das man den richtigen Backup-Ordner an die richtige Stelle kopiert haben muss, um auf das gewünscht Backup zugreifen zu können. Also vorher am besten den Ordner <em>/Users/BENUTZERNAME/Library/Application Support/MobileSync</em> sichern und darin den entsprechenden Ordner mit den alten, auszulesenden Backupdaten ersetzen.</p>
	<p>Nachdem man die Backupdaten eingelesen wurden, kann man nun die zu extrahierenden Daten auswählen.</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/08/iPhone-Backup-Extractor-Selektion-iOS-files.png" class="floatbox" rev="group:1838 caption:`iPhone Backup Extractor - Selektion iOS files`"><img class="aligncenter size-medium wp-image-1844" title="iPhone Backup Extractor - Selektion iOS files" src="http://controlc.de/wp-content/uploads/2010/08/iPhone-Backup-Extractor-Selektion-iOS-files-300x182.png" alt="" width="300" height="182" /></a>Für die iOS-internen Datenbanken (hatte ich schon gesagt, das die Daten wie SMS und Anruferliste in iOS in kleine Datenbanken geschrieben werden?) wählen wir ganz unten die <em>iOS Files</em> aus und bestätigen die Auswahl mit »Extract«. Jetzt werden alle gewünschten Daten ausgelesen und in einen gewünschten Ordner extrahiert.</p>
	<p>Wenn wir uns den Ordner anschauen, dann sehen wir folgendes</p>
	<p><a href="http://controlc.de/wp-content/uploads/2010/08/extracted-ios-files.png" class="floatbox" rev="group:1838 caption:`extracted ios files`"><img class="aligncenter size-medium wp-image-1845" title="extracted ios files" src="http://controlc.de/wp-content/uploads/2010/08/extracted-ios-files-300x214.png" alt="" width="300" height="214" /></a>Die für uns relevanten Daten liegen in den Unterordnern von <em>Library</em>.</p>
	<p>Jetzt kommen wir zu dem Teil, wie die Daten zurück aufs iPhone gelangen. Dazu benötigen wir erst einmal Jailbreak, da uns Apple verbietet nativ aufs iPhone zu schauen. Wie man ein iPhone ausbrechen läßt erklären inzwischen genug Seiten — die benötigte Software erhält man beim <a href="http://blog.iphone-dev.org/">iphone-dev-Team</a>.</p>
	<p>Der für uns relevante Teil ist nach dem Jailbreak das Installieren von OpenSSH auf dem iPhone — nur so können wir Daten vom Mac zum iPhone übertragen. Dazu öffnen wir auf dem iPhone<em> <a href="http://cydia.saurik.com/">Cydia</a></em> und befolgen die <a href="http://cydia.saurik.com/openssh.html">Anweisungen</a></p>
	<p style="text-align: left;"><a href="http://controlc.de/wp-content/uploads/2010/08/cydia-openssh-instructions.png" class="floatbox" rev="group:1838 caption:`cydia openssh instructions`"><img class="aligncenter size-full wp-image-1851" title="cydia openssh instructions" src="http://controlc.de/wp-content/uploads/2010/08/cydia-openssh-instructions.png" alt="" width="223" height="541" /></a><br />
Ich kann nur dringend dazu raten sofort anschließend das <a href="http://cydia.saurik.com/password.html">root-Passwort zu wechseln</a>. Dazu nutze ich <em><a href="http://iterm.sourceforge.net/">iTerm</a></em>, andere mögen mit Apples <em>Terminal</em> auch zufrieden sein — das ist reine Geschmackssache.</p>
	<p style="text-align: left;">Jetzt haben wir endlich Zugriff auf die Dateiebene des iPhones und können uns umschauen. Die für uns relevanten Daten liegen unter <em>/private/var/mobile/Library</em> in den jeweiligen Unterordnern — die Ordner heissen genau so, wie wir sie aus dem iPhone Backup extrahiert haben. Nun können wir die Dateien einfach austauschen, sprich vom Mac aufs iPhone kopieren. Dazu kann man das Kommandozeilen-Tool <em>scp</em> oder aber<em> <a href="http://cyberduck.ch/">Cyberduck</a></em> bemühen. Ich würde zur Sicherheit zum Schluss für die Dateien noch die Besitzer mit</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">chmod</span> mobile:mobile <span style="color: #000000; font-weight: bold;">*</span></pre></div></div>

	<p>geradebiegen und das iPhone einmal neu starten.</p>
	<p>Jetzt sollten die gewünschten Daten wieder alle da sein.</p>
	<p><strong>Habt Ihr auch die Erfahrung gemacht, das ein zurückgesetztes iPhone schneller ist als ein Upgrade? Braucht Ihr solch eine Möglichkeit des Restores oder sind Euch die damit verbundenen Daten egal?</strong>
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2010/08/26/iphone-einzelne-daten-aus-dem-backup-zuruckspielen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bash &#124; Zeilen in Dateien löschen</title>
		<link>http://controlc.de/2010/01/25/bash-zeilen-in-dateien-loschen/</link>
		<comments>http://controlc.de/2010/01/25/bash-zeilen-in-dateien-loschen/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 12:59:49 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[openwrt]]></category>
		<category><![CDATA[edit]]></category>
		<category><![CDATA[host key]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[known_hosts]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[vi]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=1316</guid>
		<description><![CDATA[Wer kennt das nicht? Da experimentiert man mit virtuellen Maschinen rum und jedes Mal wenn man eine VM neu installiert bekommt man die obige Fehlermeldung. Bisher habe ich mit vi in der  Datei ~/.ssh/known_hosts die entsprechende Zeile gelöscht. Mit folgender Befehls-Zeile sed -i -e 10d ~/.ssh/known_hosts kann man schnell die Zeile 10 der entsprechenden Datei [...]]]></description>
			<content:encoded><![CDATA[	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2010/01/REMOTE-HOST-IDENTIFICATION-HAS-CHANGED.png" class="floatbox" rev="group:1316 caption:`REMOTE HOST IDENTIFICATION HAS CHANGED!`"><img class="aligncenter size-full wp-image-1353" title="REMOTE HOST IDENTIFICATION HAS CHANGED!" src="http://controlc.de/wp-content/uploads/2010/01/REMOTE-HOST-IDENTIFICATION-HAS-CHANGED.png" alt="" width="474" height="164" /></a></p>
	<p>Wer kennt das nicht? Da experimentiert man mit virtuellen Maschinen rum und jedes Mal wenn man eine VM neu installiert bekommt man die obige Fehlermeldung. Bisher habe ich mit <strong>vi</strong> in der  Datei <em>~/.ssh/known_hosts</em> die entsprechende Zeile gelöscht.</p>
	<p>Mit folgender Befehls-Zeile</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-i</span> <span style="color: #660033;">-e</span> 10d ~<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>known_hosts</pre></div></div>

	<p>kann man schnell die Zeile 10 der entsprechenden Datei löschen.
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2010/01/25/bash-zeilen-in-dateien-loschen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mac &#124; Console einer virtuellen Maschine remote holen</title>
		<link>http://controlc.de/2009/10/20/mac-console-einer-virtuellen-maschine-remote-holen/</link>
		<comments>http://controlc.de/2009/10/20/mac-console-einer-virtuellen-maschine-remote-holen/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 13:35:35 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[allgemein]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>
		<category><![CDATA[vmware fusion]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=938</guid>
		<description><![CDATA[Wie in dem Artikel SSH mit Tunnel nutzen geschrieben, habe ich mich damit beschäftigt, wie ich mir beliebige Dienste meine Heimnetzwerkes über einen SSH-Tunnel auf meinen entfernten PC holen kann. Aktuell wollte ich ein Debian in einer Virtuelle Maschine auf meinem iMac hochfahren und an dieser etwas ausprobieren. Wie ich bei VMware Fusion eine VM [...]]]></description>
			<content:encoded><![CDATA[	<p style="text-align: center;"><a href="http://controlc.de/wp-content/uploads/2009/10/Fusionsshvnc.png" class="floatbox" rev="group:938 caption:`Fusionsshvnc`"><img class="aligncenter size-full wp-image-946" title="Fusionsshvnc" src="http://controlc.de/wp-content/uploads/2009/10/Fusionsshvnc.png" alt="Fusionsshvnc" width="410" height="281" /></a></p>
	<p>Wie in dem Artikel <a href="http://controlc.de/2009/10/20/net-ssh-mit-tunneln-nutzen/">SSH mit Tunnel nutzen</a> geschrieben, habe ich mich damit beschäftigt, wie ich mir beliebige Dienste meine Heimnetzwerkes über einen SSH-Tunnel auf meinen entfernten PC holen kann. Aktuell wollte ich ein Debian in einer Virtuelle Maschine auf meinem iMac hochfahren und an dieser etwas ausprobieren. Wie ich bei VMware Fusion eine VM per Kommandozeile starte/steuere, habe ich schon in <a href="http://controlc.de/2009/06/11/mac-vmware-fusion-uber-die-kommandozeile-steuern/">VMware Fusion über die Kommandozeile steuern</a> gezeigt.<span id="more-938"></span> Ich habe mir also einen Tunnel zum SSH-Zugang des iMacs aufgebaut</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-L</span> <span style="color: #000000;">2222</span>:192.168.1.10:<span style="color: #000000;">22</span> root<span style="color: #000000; font-weight: bold;">@</span>test.dyndns.org</pre></div></div>

	<p>und mich mit</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-D</span> <span style="color: #000000;">2222</span> localhost</pre></div></div>

	<p>auf den iMac eingewählt. Dann fix mit</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Application\ Support<span style="color: #000000; font-weight: bold;">/</span>VMware\ Fusion<span style="color: #000000; font-weight: bold;">/</span>vmrun start <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>imac<span style="color: #000000; font-weight: bold;">/</span>Documents<span style="color: #000000; font-weight: bold;">/</span>Virtual\ Machines.localized<span style="color: #000000; font-weight: bold;">/</span>Debian\ Lenny\ <span style="color: #000000;">5.01</span>.vmwarevm<span style="color: #000000; font-weight: bold;">/</span>Debian\ Lenny\ <span style="color: #000000;">5.01</span>.vmx</pre></div></div>

	<p>die Debian VM gestartet.</p>
	<p>Dabei habe ich gemerkt, das ich nicht mehr die IP der VM wußte, da diese auf DHCP konfiguriert ist. Also fix die VM wieder runtergefahren und mit</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>imac<span style="color: #000000; font-weight: bold;">/</span>Documents<span style="color: #000000; font-weight: bold;">/</span>Virtual\ Machines.localized<span style="color: #000000; font-weight: bold;">/</span>Debian\ Lenny\ <span style="color: #000000;">5.01</span>.vmwarevm<span style="color: #000000; font-weight: bold;">/</span>Debian\ Lenny\ <span style="color: #000000;">5.01</span>.vmx</pre></div></div>

	<p>die Einstellungsdatei der VM bearbeitet.</p>
	<p>Mit den zusätzlichen Parametern</p>
	<blockquote><p>RemoteDisplay.vnc.enabled = »TRUE»<br />
RemoteDisplay.vnc.port = »5901«</p></blockquote>
	<p>habe ich für genau <strong>diese</strong> VM nun einen zusätzlichen VNC-Server angeschaltet, auf den ich mich dann <strong>explizit</strong> einwählen kann.</p>
	<p>Mit der Befehlszeile</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-L</span> <span style="color: #000000;">2901</span>:192.168.1.10:<span style="color: #000000;">5901</span> root<span style="color: #000000; font-weight: bold;">@</span>test.dyndns.org</pre></div></div>

	<p>kann ich nun also per VNC auf die Debian VM zugreifen</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/10/Screenshot-20.10.2009-14_09_16.png" class="floatbox" rev="group:938 caption:`VNC - Debian`"><img class="aligncenter size-medium wp-image-944" title="VNC - Debian" src="http://controlc.de/wp-content/uploads/2009/10/Screenshot-20.10.2009-14_09_16-300x192.png" alt="VNC - Debian" width="300" height="192" /></a></p>
	<p>und die IP-Adresse herausfinden. Mit dieser kann ich dann wiederrum einen weiteren Tunnel zum SSH-Server der VM aufbauen.</p>
	<p>Kanntet Ihr die Funktion schon?
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/10/20/mac-console-einer-virtuellen-maschine-remote-holen/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>net &#124; SSH mit Tunneln nutzen</title>
		<link>http://controlc.de/2009/10/20/net-ssh-mit-tunneln-nutzen/</link>
		<comments>http://controlc.de/2009/10/20/net-ssh-mit-tunneln-nutzen/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 11:07:32 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[allgemeine IT]]></category>
		<category><![CDATA[netzwerk]]></category>
		<category><![CDATA[openwrt]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[kamikaze]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>
		<category><![CDATA[vnc]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=915</guid>
		<description><![CDATA[Oft genug bin ich unterwegs und brauche eigentlich den Zugriff auf einen Rechner, der zu Hause steht. Das kann verschiedene Gründe haben: Der Server zu Hause mukkt rum, ich habe vergessen einen Film aufzunehmen, die Firewall des Routers muß umkonfiguriert werden, usw. Natürlich könnte man jetzt für alle Dinge in der Firewall eine Ausnahme definieren [...]]]></description>
			<content:encoded><![CDATA[	<p><img class="aligncenter" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/31/SSHtunnel.png/550px-SSHtunnel.png" alt="SSH Tunnel (Quelle: Wikipedia)" width="396" height="147" /><br />
Oft genug bin ich unterwegs und brauche eigentlich den Zugriff auf einen Rechner, der zu Hause steht. Das kann verschiedene Gründe haben: Der Server zu Hause mukkt rum, ich habe vergessen einen Film aufzunehmen, die Firewall des Routers muß umkonfiguriert werden, usw. Natürlich könnte man jetzt für alle Dinge in der Firewall eine Ausnahme definieren und den Zugriff erlauben — das ist natürlich nicht zu empfehlen, da auch böse Zeitgenossen auf die Idee kommen und die Schwachstellen für Ihre Zwecke mißbrauchen könnten.<span id="more-915"></span></p>
	<p>Genau aus diesem Grund habe ich mir einen Router gekauft, auf den ich <a href="http://openwrt.org/">OpenWRT</a> installiert habe. OpenWRT ist ein kleines Linux, welches auf so abgespeckter Hardware abgestimmt ist. Vorteil des Ganzen ist auch, das die Konsolenzugriffsvariante ssh genutzt wird — mein Sprungbrett in mein lokales Netzwerk.</p>
	<p>Aber von Anfang an:  Zu der Installation von OpenWRT auf einen handelsüblichen Router werde ich jetzt nix schreiben — da gibt es einige Anleitungen.  Sollte aber der Bedarf sein, so sagt mir bitte Bescheid und ich reiche das nach.</p>
	<h3>Router von Außen erreichbar machen</h3>
	<p>Damit der Router (und damit das Netzwerk dahinter) im Internet erreichbar ist, muß zuerst ein eineindeutiger Name für den Router registriert werden. Dazu nutzt man am Besten einen der vielen dynamischen DNS-Dienste wie dyndns.org und Co. Als Nächstes installiert man sich in OpenWRT (Menü <em>System/Software</em>) das Paket <em>luci-app-ddns</em> und damit wird automatisch das Paket <em>ddns-scripts</em> mit ausgewählt.</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/10/ScreenShot022.jpg" class="floatbox" rev="group:915 caption:`OpenWRT - DDNS installieren`"><img class="aligncenter size-medium wp-image-918" title="OpenWRT - DDNS installieren" src="http://controlc.de/wp-content/uploads/2009/10/ScreenShot022-300x120.jpg" alt="OpenWRT - DDNS installieren" width="300" height="120" /></a></p>
	<p>Nun kann man unter <em>Services/Dynamic DNS</em> seine Account-Daten eingeben</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/10/Screenshot-20.10.2009-10_53_40.png" class="floatbox" rev="group:915 caption:`OpenWRT - DDNS einrichten`"><img class="aligncenter size-medium wp-image-919" title="OpenWRT - DDNS einrichten" src="http://controlc.de/wp-content/uploads/2009/10/Screenshot-20.10.2009-10_53_40-300x173.png" alt="OpenWRT - DDNS einrichten" width="300" height="173" /></a></p>
	<p>Damit wird bei jedem IP-Wechsel der DNS-Dienst aktualisiert.</p>
	<p>Nun muß noch für den SSH-Dienst der Port ins Internet geöffnet werden. Das geschieht im Menü <em>Network/Firewall/Traffic Control</em></p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/10/Screenshot-20.10.2009-10_58_25.png" class="floatbox" rev="group:915 caption:`OpenWRT - Traffic Control`"><img class="aligncenter size-medium wp-image-922" title="OpenWRT - Traffic Control" src="http://controlc.de/wp-content/uploads/2009/10/Screenshot-20.10.2009-10_58_25-300x140.png" alt="OpenWRT - Traffic Control" width="300" height="140" /></a></p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/10/Screenshot-20.10.2009-11_07_23.png" class="floatbox" rev="group:915 caption:`OpenWRT - SSH Port`"><img class="aligncenter size-medium wp-image-923" title="OpenWRT - SSH Port" src="http://controlc.de/wp-content/uploads/2009/10/Screenshot-20.10.2009-11_07_23-300x143.png" alt="OpenWRT - SSH Port" width="300" height="143" /></a></p>
	<p>Damit ist die Grundlage geschaffen. Man kann sich nun aus dem Internet auf den Port 22 der dynamischen IP mit Hilfe des dynamischen DNS-Eintrags einwählen.</p>
	<h3>SSH-Tunnel definieren</h3>
	<p>Je nach SSH-Client gibt es verschiedene Möglichkeiten, wie genau man solch einen SSH-Tunnel definieren kann. Das Grundprinzip ist aber jedes Mal gleich:</p>
	<p>Ich definiere einen lokalen Port (also einen nicht benutzten Port) auf meinem Rechner, ganz gleich welcher Port das ist und leite diesen Port um, so das er durch den SSH-Tunnel geleitet wird und am anderen Ende des SSH-Tunnels wieder auseinandergepflückt wird und an das richtige definierte Endgerät weitergeleitet wird.</p>
	<p>Ein Beispiel: Ich möchte per VNC von meinem Windows-Rechner  auf meinen iMac zu Hause zugreifen. Was benötige ich dafür?</p>
	<ol>
	<li>Den dynamischen DNS-Namen meines Routers.</li>
	<li>Die IP des iMacs in meinem Netzwerk zu Hause.</li>
	<li>Den Port des Dienstes, auf den ich zugreifen will.</li>
	<li>Einen freien lokalen Port auf meinem lokalen Rechner.</li>
	</ol>
	<p>In meinem Beispiel ist das</p>
	<ol>
	<li>test.dyndns.org</li>
	<li>192.168.1.10</li>
	<li>VNC hat den Port 5900</li>
	<li>den willkürlich gewählten Port 2900</li>
	</ol>
	<p>Auf der Kommandozeile würde der Tunnel wie folgt aufgebaut</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-L</span> <span style="color: #000000;">2900</span>:192.168.1.10:<span style="color: #000000;">5900</span> root<span style="color: #000000; font-weight: bold;">@</span>test.dyndns.org</pre></div></div>

	<p>Der Syntax lautet also</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #660033;">-L</span> LokalerPort:ZielIP:ZielPort Benutzername<span style="color: #000000; font-weight: bold;">@</span>Router</pre></div></div>

	<p>In meinem Beispiel könnte ich nun mir den Bildschirm des iMacs auf meinen Windows-PC holen.</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/10/Screenshot-20.10.2009-11_57_58.png" class="floatbox" rev="group:915 caption:`TightVNC - localhost:2900`"><img class="aligncenter size-medium wp-image-927" title="TightVNC - localhost:2900" src="http://controlc.de/wp-content/uploads/2009/10/Screenshot-20.10.2009-11_57_58-300x124.png" alt="TightVNC - localhost:2900" width="300" height="124" /></a></p>
	<p>Jetzt ist es der Phantasie überlassen, welche Sachen man darüber machen kann — Probiert Euch aus und schreibt doch mal, ob und wozu Ihr SSH-Tunnel nutzt.
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/10/20/net-ssh-mit-tunneln-nutzen/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>debian &#124; postfix und relay_recipient_maps vom Exchange (I)</title>
		<link>http://controlc.de/2009/05/24/debian-postfix-und-relay_recipient_maps-vom-exchange-i/</link>
		<comments>http://controlc.de/2009/05/24/debian-postfix-und-relay_recipient_maps-vom-exchange-i/#comments</comments>
		<pubDate>Sun, 24 May 2009 10:52:48 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[spamschutz]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://controlc.de/?p=451</guid>
		<description><![CDATA[Nachdem ich im Kapitel »Mail-Gateways« aus dem Buch Postfix — Einrichtung, Betrieb und Wartung gelesen habe, wie man eine Empfängerliste auf dem Exchange exportiert und in postfix einbindet habe ich mich mal dran gemacht das zu realisieren. Die Bemühungen kommen daher, das regelmäßig Versuche gestartet werden auf die Email-Adresse micha AT makomi DE einzuliefern — [...]]]></description>
			<content:encoded><![CDATA[	<p>Nachdem ich im Kapitel »Mail-Gateways« aus dem Buch <a href="http://www.postfix-buch.com/">Postfix — Einrichtung, Betrieb und Wartung</a> gelesen habe, wie man eine Empfängerliste auf dem Exchange exportiert und in postfix einbindet habe ich mich mal dran gemacht das zu realisieren. Die Bemühungen kommen daher, das regelmäßig Versuche gestartet werden auf die Email-Adresse micha AT makomi DE einzuliefern — eine Adresse die bei mir gar nicht existiert. Nachdem ich mal die Suchmaschine meines Vertrauens mit der »ominösen« Emailadresse gefüttert habe war klar: Da hat jemand die Adresse in einem Forum angegeben und die Betreiber hat nix Besseres zu tun, als die Profile öffentlich zu machen.<br />
<span id="more-451"></span><br />
Nun, eine erste Mail an den Admin hat keine Reaktion vorgerufen, also selber nach Lösungen suchen. Die Lösung steht in dem obigen Buch — übrigens sehr zu empfehlen.</p>
	<p>Jetzt aber zur Realisierung:</p>
	<p>Zuerst muß auf dem Exchange die aktuelle Email-Adressenliste generiert werden. Die Daten sind schon alle im Active Directory vorhanden, man muß sie da nur rausbekommen. Das geht mit Boardmitteln, aber der Reihe nach. Als Erstes lohnt es sich für den Austausch der Listen ein eigenes Verzeichnis anzulegen:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> c:\mailgw</pre></div></div>

	<p>Dann wird die Liste extrahiert:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">ldifde <span style="color: #660033;">-m</span> <span style="color: #660033;">-n</span> <span style="color: #660033;">-g</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;C:\Mailgw<span style="color: #000099; font-weight: bold;">\r</span>ecipient.txt&quot;</span> <span style="color: #660033;">-r</span> <span style="color: #ff0000;">&quot;(mailnickname=*)&quot;</span> <span style="color: #660033;">-l</span> proxyAddresses</pre></div></div>

	<p>Ein kurze Erklärung zu den Parametern:</p>
	<blockquote><p>–g              Deaktiviert die seitenweise Suche.<br />
–m              Aktiviert die SAM-Logik beim Export.<br />
–n              Exportiert keine Binärwerte.<br />
–f Dateiname    Dateiname für die Eingabe bzw. Ausgabe.<br />
–r Filter       LDAP-Suchfilter (Standard: »(objectClass=*)«).<br />
–l Liste        Liste der Attribute (durch Komma getrennt), nach denen bei<br />
der LDAP-Suche gesucht wird.</p></blockquote>
	<p>Das Komplizierteste ist nun der Datenaustausch vom Exchange-Server zum Mail-Gateway. Um dies zu bewältigen muß man dem Exchange-Server zuerst beibringen, wie man per Secure Copy (kurz SCP) Dateien verschicken kann. Es gibt verschiedene Programme dafür, am bekanntesten ist aber als Kommandozeilentool <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">PuTTYs PSCP</a>. Wir benötigen die beiden Programme <em>pscp.exe</em> und <em>puttygen.exe</em>.</p>
	<p>Nun legen wir zuerst auf dem debian-Server einen neuen Benutzer an, der nur für den Transfer der Listen auf das Mail-Gateway verantwortlich ist:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">useradd <span style="color: #660033;">-d</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>exchange<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #660033;">-m</span> exchange</pre></div></div>

	<p>Im Gegensatz zu den Angaben im Buch mußte ich bei debian Lenny das Homeverzeichnis explizit mit angeben, da Lenny anscheinend das nicht selbstständig anlegt.</p>
	<p>Nachdem der Benutzer existiert geben wir ihm zuerst einmal ein Passwort:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">passwd</span> exchange</pre></div></div>

	<p>Anschließend generieren wir ein SSH-Schlüsselpaar, damit der Dateitransfer ohne die Eingabe von Passwörtern erfolgen kann:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">su</span> - exchange
<span style="color: #7a0874; font-weight: bold;">cd</span> ~
<span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span> <span style="color: #660033;">-t</span> rsa</pre></div></div>

	<p>Bei der Nachfrage nach einer Passphrase bitte nix eingeben. Nur wenn hier kein Passwort eingegeben wird, kann der Dateiaustausch wirklich vollautomatisch erfolgen.</p>
	<pre>Generating public/private rsa key pair.
Enter file in which to save the key (/home/exchange/.ssh/id_rsa):
Created directory '/home/exchange/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/exchange/.ssh/id_rsa.
Your public key has been saved in /home/exchange/.ssh/id_rsa.pub.
The key fingerprint is:
ba:90:03:e8:06:20:5f:30:00:52:a9:11:c6:2e:ae:10 exchange@example.de
The key's randomart image is:
+--[ RSA 2048]----+
|&amp;+..             |
|=*.              |
|.o+              |
|.+ +             |
|. o +   S        |
|E. . . o         |
|..    =          |
|o      +         |
|.     .          |
+-----------------+</pre>
	<p>Es werden nun zwei neue Dateien im Unterverzeichnis <em>.ssh</em> erstellt: <em>id_rsa</em> und<em> id_rsa.pub</em></p>
	<p>Damit der Server weiß, das der Benutzer <em>exchange</em> mit Hilfe von Schlüsseln auf den Server zugreifen darf, muß man noch den Inhalt der Datei <em>id_rsa</em> an die Datei <em>~/.ssh/authorized_keys</em> angehängt werden. Dazu gibt man</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cat</span> ~<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa.pub <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> ~<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>authorized_keys</pre></div></div>

	<p>ein und gibt mit</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #000000;">644</span> authorized_keys</pre></div></div>

	<p>der Datei die richtigen Rechte.</p>
	<p>Nun muß der private Schlüssel des Paares auf einem sicheren Weg zum Exchange-Server kommen. Dazu nutzen wir gleich die <em>pscp.exe</em>.</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pscp exchange<span style="color: #000000; font-weight: bold;">@</span>mail.example.de:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>exchange<span style="color: #000000; font-weight: bold;">/</span>.ssh<span style="color: #000000; font-weight: bold;">/</span>id_rsa .</pre></div></div>

	<p>Ich denke der Syntax ist klar. Natürlich müssen wir uns jetzt mit einem Passwort authentifizieren — genau mit dem, welches wir oben vergeben haben.</p>
	<p>Um die Schlüsseldatei nutzen zu können müssen wir sie in ein PuTTY-verträgliches Format wandeln. Dazu nutzen wir die von PuTTY mitgelieferte <em>puttygen.de</em></p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">puttygen c:\mailgw\id_rsa</pre></div></div>

	<p>es öffnet sich eine GUI</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/05/puttygen-1.png" class="floatbox" rev="group:451 caption:`puttygen-1`"><img class="alignnone size-full wp-image-468" title="puttygen-1" src="http://controlc.de/wp-content/uploads/2009/05/puttygen-1.png" alt="puttygen-1" width="266" height="150" /></a></p>
	<p>Nach eine Klick auf OK öffnet sich der PuTTY Key Generator-Dialog:</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/05/puttygen-2.png" class="floatbox" rev="group:451 caption:`puttygen-2`"><img class="alignnone size-medium wp-image-469" title="puttygen-2" src="http://controlc.de/wp-content/uploads/2009/05/puttygen-2-300x287.png" alt="puttygen-2" width="300" height="287" /></a></p>
	<p>Hier kann man im Feld <em>Key comment</em> dem konvertierten Schlüssel einen Namen wegen und anschließend <em>Save private key</em> drücken.</p>
	<p><a href="http://controlc.de/wp-content/uploads/2009/05/puttygen-3.png" class="floatbox" rev="group:451 caption:`puttygen-3`"><img class="alignnone size-full wp-image-470" title="puttygen-3" src="http://controlc.de/wp-content/uploads/2009/05/puttygen-3.png" alt="puttygen-3" width="260" height="117" /></a></p>
	<p>Aufgrund der leeren Passphrase wird hier eine Warnung ausgegeben, was aber ok ist.</p>
	<p>Nun können wir mit dem eben erstellten/konvertierten Key eine verschlüsselte Verbindung zu unserem Mail-Gateway aufnehmen</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pscp <span style="color: #660033;">-i</span> mail.example.de.ppk recipient.txt exchange<span style="color: #000000; font-weight: bold;">@</span>mail.example.de:<span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>exchange<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

	<p>Nachdem das geklappt hat, können wir dem Benutzer <em>exchange</em> auf dem Mail-Gateway das Passwort wegnehmen — dann ist ein einloggen nur noch mit dem Key möglich.</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">usermod <span style="color: #660033;">-L</span> exchange</pre></div></div>

	<p><em><strong>Weiter geht es im <a href="http://controlc.de/2009/05/25/debian-postfix-und-relay_recipient_maps-vom-exchange-ii/">zweiten Teil</a><span style="text-decoration: line-through;">, der demnächst erscheint</span>.</strong></em>
</p>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/05/24/debian-postfix-und-relay_recipient_maps-vom-exchange-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>debian &#124; Backup per SSH</title>
		<link>http://controlc.de/2009/05/06/backup-per-ssh/</link>
		<comments>http://controlc.de/2009/05/06/backup-per-ssh/#comments</comments>
		<pubDate>Wed, 06 May 2009 12:09:58 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[allgemeine IT]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[cat]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tar]]></category>

		<guid isPermaLink="false">http://controlc.de/wordpress/?p=94</guid>
		<description><![CDATA[So ein Server will ja auch mal »gebackupt« werden — am einfachsten geht das über eine Shell-Befehlszeile: tar cvzf - -T /root/backup-liste-include.txt &#124; ssh BENUTZER@SERVER &#34;cat &#62; /root/backup-$(date +%F-%T).tar.gz&#34; in der Datei /root/backup-liste-include.txt sollte jeder Pfad in einer einzelnen Zeile stehen, so kann man das Backup schnell erweitern. Was macht die Befehlszeile genau? Es packt [...]]]></description>
			<content:encoded><![CDATA[	<p>So ein Server will ja auch mal »gebackupt« werden — am einfachsten geht das über eine Shell-Befehlszeile:</p>
	
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">tar</span> cvzf - <span style="color: #660033;">-T</span> <span style="color: #000000; font-weight: bold;">/</span>root<span style="color: #000000; font-weight: bold;">/</span>backup-liste-include.txt <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">ssh</span> BENUTZER<span style="color: #000000; font-weight: bold;">@</span>SERVER <span style="color: #ff0000;">&quot;cat &gt; /root/backup-<span style="color: #007800;">$(date +%F-%T)</span>.tar.gz&quot;</span></pre></div></div>

	<p><span id="more-94"></span></p>
	<p>in der Datei /root/backup-liste-include.txt sollte jeder Pfad in einer einzelnen Zeile stehen, so kann man das Backup schnell erweitern.</p>
	<p>Was macht die Befehlszeile genau? Es packt die entsprechenden Pfad ein und »cat»tet diese Datei per SSH auf einen anderen, per SSH erreichbaren Server wieder aus. Die dort entstehende Datei trägt den Dateiennamen des aktuellen Datums und der aktuellen Uhrzeit, z.B. <em>backup-2009–05-06–14:06:55.tar.gz</em></p>
	<p>ToDo:</p>
	<ul>
	<li>Eine Lösung per SSH-Keys, damit es automatisch ablaufen kann</li>
	<li>Eintragung in cron</li>
	<li>Logrotate o.ä., damit ältere Backups automatisch gelöscht werden</li>
	</ul>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2009/05/06/backup-per-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>debian &#124; Grund-Installation</title>
		<link>http://controlc.de/2008/11/03/debian-grundinstallation/</link>
		<comments>http://controlc.de/2008/11/03/debian-grundinstallation/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 11:17:43 +0000</pubDate>
		<dc:creator>controlc.de</dc:creator>
				<category><![CDATA[allgemeine IT]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[etch]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://controlc.de/wordpress/?p=34</guid>
		<description><![CDATA[Eigentlich ist eine Installation von Debian kein Teufelswerk. trotzdem habe ich hier für mich dokumentiert, welche Schritte ich nach der eigentlichen Installation vorgenommen habe. Es bezieht sich noch auf Debian Etch, sollte aber adaptierbar sein. /etc/apt/sources.list editieren und die Einträge für die CD-Quelle entfernen apt-get update apt-get upgrade apt-get install mc zip unzip arj bzip2 [...]]]></description>
			<content:encoded><![CDATA[	<p>Eigentlich ist eine Installation von Debian kein Teufelswerk. trotzdem habe ich hier für mich dokumentiert, welche Schritte ich nach der eigentlichen Installation vorgenommen habe. Es bezieht sich noch auf Debian Etch, sollte aber adaptierbar sein.<span id="more-34"></span></p>
	<ul>
	<li>/etc/apt/sources.list editieren und die Einträge für die CD-Quelle entfernen</li>
	<li>apt-get update</li>
	<li>apt-get upgrade</li>
	<li>apt-get install mc zip unzip arj bzip2 openssh-server</li>
	<li>/etc/apt/sources.list editieren und die Einträge für volatile und backports hinzufügen<br />
deb <a class="linkification-ext" title="Linkification: http://volatile.debian.org/debian-volatile" href="http://volatile.debian.org/debian-volatile">http://volatile.debian.org/debian-volatile</a> etch/volatile main contrib non-free<br />
deb <a class="linkification-ext" title="Linkification: http://www.backports.org/debian" href="http://www.backports.org/debian">http://www.backports.org/debian</a> etch-backports main contrib non-free</li>
	<li>apt-get update<br />
apt-get install debian-backports-keyring</li>
	</ul>
]]></content:encoded>
			<wfw:commentRss>http://controlc.de/2008/11/03/debian-grundinstallation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

