{"id":8694,"date":"2011-04-06T21:42:40","date_gmt":"2011-04-06T20:42:40","guid":{"rendered":"http:\/\/funrecycler.com\/?p=8694"},"modified":"2011-04-06T21:42:40","modified_gmt":"2011-04-06T20:42:40","slug":"ajaxterm-ssh-via-browserinterface","status":"publish","type":"post","link":"https:\/\/funrecycler.com\/index.php\/2011\/04\/06\/ajaxterm-ssh-via-browserinterface\/","title":{"rendered":"ajaxterm &#8211; ssh via browserinterface"},"content":{"rendered":"<p style=\"text-align: left;\"><a href=\"http:\/\/funrecycler.com\/wp-content\/uploads\/2011\/03\/Auswahl_024.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8695\" title=\"Auswahl_024\" src=\"http:\/\/funrecycler.com\/wp-content\/uploads\/2011\/03\/Auswahl_024.png\" alt=\"\" width=\"657\" height=\"444\" \/><\/a>Vor ein paar Tagen habe ich ja \u00fcber <a href=\"http:\/\/funrecycler.com\/2011\/03\/25\/firefox-mit-javascript-ssh-clinet\/\" target=\"_blank\" rel=\"noopener\">diese<\/a> Firefox-Erweiterung berichtet. Dabei ben\u00f6tigt aber der Client eine direkte SSH-Verbindung \u00fcber einen\u00a0privilegierten\u00a0Port. Einen anderen Ansatz kann man mit einer Webshell erreichen, wenn man den Connector auf einen Webserver auslagert und alle Befehle \u00fcber Ajax im Browser get\u00e4tigt werden. Dies hat nat\u00fcrlich den Vorteil, nicht mit diversen Firewalladmins in Konflikt zu kommen.<br \/>\nEiniges ist aber beim Aufbau des Weges zu beachten. Erstens muss die Apache wenigstens HTTPS-Verbindungen akzeptieren und das Webinterface sollte hinter einer .htaccess Sicherung verschwinden, um Gelegenheits-Hackern das Leben nicht all zu sehr zu vereinfachen. Generell rate ich aus Sicherheitsgr\u00fcnden von der Variante ab, l\u00e4sst sich aber nicht immer vermeiden. Zumindest ist die Variante wesentlich sicherer als bei einem freien WEBSSH Dienst im Internet seine Daten einzugeben, der sicher flei\u00dfig Accountdaten mitschreibt. <a href=\"http:\/\/antony.lesuisse.org\/software\/ajaxterm\/\" target=\"_self\" rel=\"noopener\">Ajaxterm<\/a> ist schnell installiert\/kopiert und muss auch nicht weiter angepasst werden. Spannender wird die Konfiguration des Webservers mit SSL und der Umleitung zum lokalen Socket.<\/p>\n<p>In einer neuen VHOST-Datei k\u00f6nnte folgender Inhalt auftauchen. Dazu m\u00fcssen aber noch ein paar Apache Module aktiviert werden. proxy,proxy_http und ssl (a2nmod)<\/p>\n<pre>NameVirtualHost *:443\nServerName localhost\nSSLEngine On\nSSLCertificateKeyFile ssl\/apache.pem\nSSLCertificateFile ssl\/apache.pem\nProxyRequests Off\nOrder deny,allow\nAllow from all\nProxyPass \/ajaxterm\/ http:\/\/localhost:8022\/\nProxyPassReverse \/ajaxterm\/ http:\/\/localhost:8022\/<\/pre>\n<p>Wenn dann die ajaxterm.py in der Konsole gestartet wurde, lauscht er lokal am port 8022, der wiederum an den Apache gebunden wurde.<br \/>\nGebt Ihr nun die betreffende URL ein, sollte das oben gezeigte Fenster erscheinen.<br \/>\n<strong>http:\/\/domain.tld\/ajaxterm\/<\/strong><br \/>\nAls Notl\u00f6sung, um mal neinen Dienst neu zu starten, ist es ganz praktisch. L\u00e4ngeres Arbeiten ist so aber nicht m\u00f6glich, wenn man effektiv arbeiten will.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vor ein paar Tagen habe ich ja \u00fcber diese Firefox-Erweiterung berichtet. Dabei ben\u00f6tigt aber der Client eine direkte<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[109,195,260,1315,2460,2463],"class_list":["post-8694","post","type-post","status-publish","format-standard","hentry","category-computer-und-technik","tag-109","tag-ajaxterm","tag-apache","tag-https","tag-ssh-via-browserinterface","tag-ssl"],"_links":{"self":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/8694","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/comments?post=8694"}],"version-history":[{"count":0,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/posts\/8694\/revisions"}],"wp:attachment":[{"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/media?parent=8694"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/categories?post=8694"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/funrecycler.com\/index.php\/wp-json\/wp\/v2\/tags?post=8694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}