<?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>CodeBlog.ch &#187; Linux</title>
	<atom:link href="http://www.codeblog.ch/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codeblog.ch</link>
	<description>Coding and more - Concrete5, Flex, JavaScript</description>
	<lastBuildDate>Mon, 05 Dec 2011 16:10:29 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Linux Terminal im Web</title>
		<link>http://www.codeblog.ch/de/2010/02/linux-shell-in-a-browser/</link>
		<comments>http://www.codeblog.ch/de/2010/02/linux-shell-in-a-browser/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 12:37:43 +0000</pubDate>
		<dc:creator>Remo Laubacher</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.codeblog.ch/?p=440</guid>
		<description><![CDATA[Als *unix Administrator wird man SSH wohl kennen und lieben. Auch wenn man mit einem Windows Computer arbeiten muss, kann mit Tools wie Putty sehr einfach auf dem Linux Server gearbeitet werden. Es gibt allerdings Situationen wo auch das nicht funktioniert, weil das Netzwerk ausgehenden SSH Traffic nicht zulässt. Dies ist auch verständlich, könnte man [...]]]></description>
			<content:encoded><![CDATA[<p>Als *unix Administrator wird man SSH wohl kennen und lieben. Auch wenn man mit einem Windows Computer arbeiten muss, kann mit Tools wie <a href="http://putty.very.rulez.org/download.html">Putty</a> sehr einfach auf dem Linux Server gearbeitet werden. Es gibt allerdings Situationen wo auch das nicht funktioniert, weil das Netzwerk ausgehenden SSH Traffic nicht zulässt. Dies ist auch verständlich, könnte man mit SSH doch sehr einfach einen verschlüsselten Tunnel aufbauen und geheime Konten-Informationen klauen.</p>
<p>Es gibt jedoch einen Weg, mit dem man trotzdem auf den Linux Server zugreifen kann, ohne dabei die Möglichkeit zu haben, einen Tunnel zu erstellen. Das Tool das man dazu benötigt findet sich auf Google Code und nennt sich <a href="http://code.google.com/p/shellinabox/">shellinabox</a>.</p>
<p>Leute die wie ich mit Debian arbeiten, haben es besonders einfach:<br />
<code lang="bash">wget http://shellinabox.googlecode.com/files/shellinabox_2.10-1_i386.deb<br />
dpkg -i shellinabox_2.10-1_i386.deb</code></p>
<p>Damit wird automatisch eine Init Script erstellt welches man hier findet: /etc/init.d/shellinabox. Wurde dieses ausgeführt, lässt sich die Linux Shell via Browser hier erreichen: https://localhost:4200. Da allerdings auch der Port 4200 wohl meistens geblockt wird, wollen wir den Verkehr von HTTPS zu 4200 umleiten, indem wir mit Apache einen Reverse Proxy einrichten. Als erstes müssen wir sicherstellen, dass beim Apache die entsprechenden Module aktiv sind:</p>
<p><code lang="bash">/etc/apache2/mods-enabled<br />
ln -s ../mods-available/proxy.conf<br />
ln -s ../mods-available/proxy.load<br />
ln -s ../mods-available/proxy_http.load</code></p>
<p>Anschliessend die gewünschte Apache Seiten Konfiguration anpassen. In meinem Fall hab ich in /etc/apache2/sites-available/default-ssl die folgenden Zeilen eingefügt:<br />
<code lang="bash">&lt;Location /shell&gt;<br />
ProxyPass	http://localhost:4200/<br />
Order 	allow,deny<br />
Allow	from all<br />
&lt;/Location&gt;</code></p>
<p>Shellinabox arbeitet standardmässig mit HTTPS und kann von jeder IP Adresse angesprochen werden. Auch das ändern wir, indem wir in /etc/init.d/shellinabox SHELLINABOX_ARGS hinzufügen (nur die letzte Zeile in der folgenden Box):<br />
<code># Set some default values<br />
SHELLINABOX_DATADIR="${SHELLINABOX_DATADIR:-/var/lib/shellinabox}"<br />
SHELLINABOX_PORT="${SHELLINABOX_PORT:-4200}"<br />
SHELLINABOX_USER="${SHELLINABOX_USER:-shellinabox}"<br />
SHELLINABOX_GROUP="${SHELLINABOX_GROUP:-shellinabox}"<br />
SHELLINABOX_ARGS="--localhost-only --disable-ssl"</code></p>
<p>Nun alle Dienste neu starten: &#8220;/etc/init.d/shellinabox restart&#8221; und /etc/init.d/apache2 restart&#8221; &#8211; schon lässt sich die Shell via https://localhost/shell erreichen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codeblog.ch/de/2010/02/linux-shell-in-a-browser/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

