SSH-Verbindung mit Windows Explorer

SSH mit Windows (10/11) Explorer

2024-04-18 06:24:56 Thursday

Guide – Anleitung – Windows 10/ 11

Problem:

Kurzversion

Wie verbindet man sich mit dem Windows-Explorer über SSH mit einem Linux-Server so das Dateien übertragen werden können?

Hintergrund

Es ist durchaus angenehm, gelegentlich eine SSH Verbindung zu einem Server mit dem Windows Explorer, um den SSH-Server als Netzlaufwerk verfügbar zu haben. Persönlich nutze ich diese Methode, indem ich mich zunächst über VPN mit dem entsprechenden Server verbinde und dann den Linux-Account per SSH in Windows einbinde. Auf diese Weise steht mir das Verzeichnis /home/benutzer/, als Linux-Netzlaufwerk zur Verfügung. Natürlich ist dies auch ohne VPN möglich, jedoch sollte man auf entfernten Servern so wenig Dienste wie möglich öffentlich zugänglich machen. Auf meinen eigenen Servern leite ich beispielsweise nur Port 1029 UDP weiter, obwohl verschiedene Dienste aktiv sind die erreichbar sein sollen.

Theoretisch könnte jemand beispielsweise einen Raspberry Pi lokal betreiben und Daten ohne zusätzliche Dienste wie FTP oder ähnliches übertragen wollen. Oft wird dafür Samba (SMB bzw. CIFS) verwendet, um eine sogenannte „Windows-Freigabe“ einzurichten. Allerdings stellen diese zusätzlichen Dienste potenzielle Sicherheitsrisiken dar. Spätestens zu diesem Zeitpunkt sollte man sich Gedanken über die Sicherheit machen. Daher erledige ich diese Aufgaben gerne schnell und sicher per SSH, da diese Methode ohnehin fast immer verfügbar ist.

Installation:

Es werden eigentlich nur zwei Pakete verwendet.

  1. SSHFS-Win (GitHub)
  2. WinFSP (GitHub)

Diese Anwendungen lassen sich in dieser Reihenfolge entweder direkt von GitHub installieren oder, wie ich es bevorzuge, per winget in der Windows PowerShell installieren.

winget sshfs-win winfsp

Bei winget handelt es sich um ein etwas weniger bekanntes Tool das im entferntesten Sinne mit apt unter Linux vergleichbar wäre. [LINK]

Verbindung:

Verbunden wird nun genauso wie jedes andere Netzlaufwerk mit der Ausnahme das der Verbindung ein \\sshfs\ vorrangestellt wird.

https://www.ionivation.com/wp-content/uploads/cap-sshfs.gif

Das klingt nach einer äußerst vielseitigen Vorgehensweise! Durch die Installation und Konfiguration über GitHub und die Verwendung von SSH können die Zugriffsmöglichkeiten auf dem Linux-Server entsprechend der üblichen Benutzerverwaltung eingestellt werden. Dies ermöglicht die individuelle Vergabe von Lese- und Schreibrechten für jeden SSH-Account. Es lohnt sich definitiv, die Anleitungen der jeweiligen Pakete auf GitHub zu lesen, um weiterführende Informationen zu erhalten und das volle Potenzial dieser Methode auszuschöpfen.


Änderungslog:

Windows Backup und Synchronisierung von Verzeichnissen

Persönliche Notizen zum Thema Windows Backups

Stand: 2022-12-29 15:30:06 Thursday

Leider bringen Windows 10 und 11 keine brauchbaren Backup-Tools für den Alltag mit. So glaubt man doch Robocopy.exe ist schon seit über 20 Jahren ein fester Bestandteil von Windows. Nur eben ohne Benutzeroberfläche ist es einer der stärken Werkzeuge, die Windows jemals hervorgebracht hat.

Folgende sehr gute Oberflächen zur Bedienung von Robocopy sind verfügbar.

  • RoboMirror (LINK)
    Quelltext verfügbar!
  • YARCGUI
    Veraltet mit gewöhnungsbedürftiger Oberfläche aber noch sehr gut einsetzbar. Vor allem kann man damit gut Scripte erstellen wenn Robocopy im Hintergrund laufen soll.

[ Fortsetzung folgt ]

Linux Tipps und Tricks für den Alltag

Linux Sammung von Tricks und Befehlen

Konsole

einem Benutzer sudo Rechte übertragen (sudoers)

sudo ist eine Möglichkeit Rootrechte zu erlangen ohne sich als root einloggen zu müssen. Ich nutze es z. B. als Sicherheits-Feature und auf meinen Systemen hat root gar kein Passwort. Es ist also gar keinen Root-Account, auf den man sich einloggen könnte.

Um einem Benutzer diese Rechte zu übertragen geht man wie folgt vor:

usermod -aG sudo USERNAME

Dazu benötigt man natürlich Root-Rechte!

Benötigt man nun für ein Kommando rootrechte geht man wie folgt vor:

sudo BEFEHL

Benötigt man einmal einen richtigen Rootaccount, kann man mit diesen anschliessend mit:

sudo -i

auf root wechseln vorausgesetzt man befindet sich auf einen Account mit sudoers rechten. Einen echten Root-Account benötigt man ab diesen Zeitpunkt nicht mehr und man könnte das Rootpasswort aus der /etc/shadows entfernen bzw. mit einem Stern * ersetzen. Ab diesen Zeitpunkt ist es nicht mehr möglich sich als Benutzer root anzumelden.

Ich hatte zu dem Thema bereits 2018 einige Zeilen geschrieben.

[ QUELLE ]


Änderungslog:

2022-08-14 12:44:19 Sunday

  • Beitrag erstellt und sudo hinzugefügt

Windows 10 Shortcuts

Schnell mit der Tastatur navigieren

hier geht es um effizienteres Arbeiten min Windows 10 im speziellen.

Desktop Shortcuts (Tastenkürzel)

WIN + UMSCH. + S (Screenshot)

Es wird die App Ausschneiden und Skizzieren gestartet, was früher als „Snipping Tool“ bekannt war. Damit können ganz schnell auch Ausschnitte eines Bildschirms erstellt werden, die automatisch in der Zwischenablage landen.

WIN + DRUCK (Screenshot in Datei)

Es wird ein Screenshot erstellt und im Benutzerordner unter Bilder -> Screenshots gespeichert. Möchte man übrigends den Pfad für Screenshots ändern, geht man auf den aktuellen Screenshot-Ordner in das Kontextmenü mit Rechtsklick, dann Eigenschaften und Pfad.

DRUCK (Screenshot in Zwischenablage)

Mit zB. STRG + V in ein Bildbearbeitungsprogramm einfügen. Es erfolgt dabei KEIN Feedback, das Bild befindet sich einfach in der Zwischenablage.

Ein aktives Programm (Fenster) auf einen weiteren Desktop verschieben.

Unten links in der Taskleiste klicken Sie auf den Button „Aufgabenansicht“. Hier erscheinen alle geöffneten Fenster auf Ihrem aktuellen Desktop.
Klicke mit der rechten Maustaste auf das gewünschte Fenster und wähle unter „Verschieben nach“ den richtigen Desktop aus.

Diesen kann man mit STRG + WIN + <- oder -> (Pfeilstasten) erreichen.

Windows 10 Entwicklertipps

Windows 10

Tipps und Tricks die für Entwickler die unter Windows 10 entwickeln müssen.

Konsole/ Shell an einem bestimmten Ort starten/ öffnen

Wenn man die Konsole oder PowerShell an einem bestimmten Punkt starten möchte, ohne nach dem Starten an die Stelle zu navigieren, an die man möchte, geht man wie folgt vor:

  1. Explorer starten
  2. An die Stelle navigieren an der man mit der Shell arbeiten möchte
    Rechtsklick auf das gewünschte Verzeichnis MIT gedrückter Shift-Taste. Es sollte nun im Kontexmenü erscheinen „Power-Shell-Fenster hier öffnen“ oder „Eingabeaufforderung hier öffnen“ [QUELLE]

Von was genau dieses Kontexmenü abhängig ist, das mal das eine und mal das andere eingeblendet wird, ist mir leider unbekannt. Würde mich über eine Info freuen.

wget und die robots.txt

Ganze Internetprojekte herunterladen mit wget – robots.txt ignorieren

Ich wäre fast verzweifelt. Mit wget kann man bekanntlich ganze Internetprojekte rekursiv herunterladen. Mit einem einfachen wget -r -l2 [URL] kann man ein ganzes Projekt inklusive links bis zur zweiten Ebene herunterladen. Dies mache ich öfter wenn zB ein Tutorial auch offline verfügbar sein soll oder ich die Gefahr wittere das es eines tages einfach verschwinden könnte.

Nun hatte ich einmal so ein Tutorial [1] das sich nicht herunterladen lies. Die Ursache war mir völlig unbekannt und man wget brachte mich auch nicht wirklich weiter bis ich in einer Dokumentation [2] auf -e robots=off stieß.

Ich schaute in die robots.txt auf der besagten Seite und stellte fest das dort folgendes eingetragen war:

User-agent: *
Disallow: /

Die robots.txt ist eigentlich an Suchmaschinen gerichtet um anzuweisen das eine Seite nicht indexiert wird. In diesem Fall ist das natürlich völliger Unfug den Anleitungen im Internet sind selbstverständlich zum gefunden und gelesen zu werden. Da wget aber die robots.txt beachtet fühlt er sich angesprochen und lädt die besagten Dateien nicht herunter.

Die obige Anweisung wird also erweitert: wget-e robots=off -r -l2 [URL] und wget wird die robots.txt ignorieren und wie gewünscht alles herrunterladen.


Nachtrag:

möchte man das wget dauerhaft die robot.txt ignoriert kann man diese Option auch in die Konfigurationsdatei von wget schreiben. diese befindet sich im im home (~/.wgetrc). Falls nicht muss sie noch erstellt werden.


  1. http://bladehunter.lima-city.de/lua/book/index.html
  2. https://wiki.ubuntuusers.de/wget/

Root oder Sudo?

Root oder Sudo? Die Frage der Fragen …

Stand: 13/03/2018 -> log

Achtung, dieser Artikel ist an erfahrene Benutzer gerichtet. Nichtbefolgen oder eigenmächtiges Handeln kann zum Verlust des Systems und/ oder Daten führen!

Oft höre und lese ich die Frage „Soll ich als root oder lieber mit sudo administrationsarbeiten durchführen?“ Genauso oft höre ich „Bei Ubuntu habe ich gar kein root-Passwort!„. Ich möchte in diesem Beitrag ganz kurz auf diese beiden Fragen eingehen. Also, der Benutzer root wird grundsätzlich nur mit login-passwort benötigt wenn der eigentliche Systemverwalter gar keinen Benutzeraccount auf diesem Computer/ System  hat oder benötigt. Dies trifft z.B auf einer Serverfarm zu, da wäre es Unsinn wenn der root sich extra einen Benutzer anlegen müsste um irgend welche Veränderungen vorzunehmen.

Ist der Computer eine Arbeitsstation, wie sie jeder zuhause hat, an der ganz normal gearbeitet wird und jemand im Haushalt auch die Administration übernimmt, ist der Benutzer root absolut unnötig. Dies bedeutet nicht das man ihn nicht benötigt, sondern das man für diesen kein Passwort benötigt. Wieso das so ist? Ganz einfach …

Diejenigen die sowieso einen Benutzeraccount auf diesem Rechner besitzen, können jederzeit (falls sie ein sudoers sind, dazu gleich mehr) mit sudo einen Befehl mit root-rechten ausführen. Benötigt man wirklich einmal eine echte root-login shell hilft der Befehl sudo -i

Dieser startet ohne weitere Parameter eine root-login-shell! In der Datei /etc/sudoers befinden sich alle Benutzer die sudo einsetzen dürfen. Bearbeiten darf man diese Datei nur mit dem dafür speziel vorgesehenen Tool visudo, nur dann ist gewährleistet das die Datei syntaktisch einwandfrei ist. Hat man den neuen sudo-Zugang getestet und ist dieser einwanfrei kann man getrost in der Datei /etc/shadow das Passwort des Benutzers root herrauslöschen. Die Zeile könnte dann so aussehen:

root::17068:0:99999:7:::

Die Passwörter in dieser Datei sind übrigends verschlüsselt und das Passwort würde sich hinter dem ersten Doppelpunkt befinden. Will man ein Passwort wieder herstellen und den root-Zugang wieder zulassen hilft ein sudo passwd root … zack ist alles wieder beim alten.

So, das sollte ersteinmal gekärt sein, root ist also absolut unnötig. Ist root auf diese weise deaktiviert gibt es noch einen positiven Nebeneffekt: Für root benötigt man zwei Passwörter, einmal für den eigentlichen Benutzer und ein zweites mal für sudo -i. Vor alleim bei rootservern für die Wartung aus der Ferne ist es Gold wert.

Kleiner Tipp zum Schluss: Bei solchen Arbeiten am System, bei dem man sich bei einem kleinen Tippfehler selbst aussperren kann, IMMER eine zweite Konsole öffnen mit z.B STRG-ALT-F2! Bei Fernwartung entsprechend ein zweites mal per ssh einloggen im Hintergrund. DANN ERST LOSLEGEN!


Änderungslog des Beitrags:

  • 03/02/2018 – erste Version des Beitrags
  • 13/03/2018 – kleine unbedeutende Änderungen wie zB Rechtschreibung.

Zurück zum Hauptseite Linux

Raspberry Pi – raspbian SSH

SSH vor dem ersten Start des Raspberry Pi aktivieren

Version: 28/05/2017 - zur Überarbeitung markiert

BEITRAG VERALTET! Eventuell ist er noch brauchbar falls Du einen RasPi 1 mit dem alten Betriebsystem verwendest. Download der alten Raspbian Images ist HIER möglich zum aktuellen Zeitpunk.

Hier nur eine schnelle beiläufige Information zum Betriebssystem Raspbian für den Raspberry Pi. Es betrifft die Standarteinstellung für den SSH Zugriff.

Seit Release des Raspbian Images von 25.11.2016 ist der SSH-Server standardmäßig deaktiviert. Offensichtlich aus Sicherheitsgründen. Wenn man nun wie ich die Pi’s lediglich Headless betreibt, war ich schon verwundert wieso ich auf einem neu installieren Gerät keine SSH Verbindung herstellen kann.

Also wie aktiviert man nun wieder den SSH-Server auf dem Raspberry Pi? Ganz einfach: Die neu installierte SD-Karte nochmal flott an einem anderen Rechner mounten und in der Bootpartition eine leere Textdatei mit dem Namen ssh erstellen.

Das war es auch schon, wichtig ist lediglich das die Datei exakt so heißt. Nach dem nächsten Bootvorgang ist der SSH-Server wieder ganz normal zu erreichen.

Die Standart Zugangsdaten lauten:

Username: pi Passwort: raspbian

Das Passwort sollte und muss man nach dem ersten Login mit passwd ändern! Unter Umständen je nach Internetzugang und Einstellungen des Routers ist der Pi auch von außerhalb erreichbar.

Zur Grundkonfiguration sollte man sich sudo raspi-config genauer anschauen, als erstes sollte man dann die Speicherkarte expandieren.


Änderungslog:

  • 2022-08-15 20:27:14 Monday
    Beitrag als veraltet markiert da es Rasbian in dieser Version seit 2020 nicht mehr gibt und weiterentwickelt wird.