usługi prawne, ochrona danych, bezpieczne systemy informatyczne

ich war hier: LinuxWissen

Wissen über Linux

Konfiguration, Befehle, Distributionen


A. XRDP unter Debian 10 konfigurieren
Um mit den Microsoft-Werkzeugen Desktop-Verbindungen zu realisieren und damit zu arbeiten, kann unter Linux XRDP genutzt werden. Da VNC nicht immer intuitiv einzurichten ist und X-Window-System (in meinen Augen als Terminal-Software die cleverste Lösung) nur auf Linux-Maschinen wirklich schnell eingesetzt werden kann, ist dies durchaus eine Alternative - zu Teamviewer etc...

1. Xrdp-server installieren und starten
als root
apt -y install xrdp
systemctl start xrdp
systemctl enable xrdp


2. Probleme

a. Typisch für MATE:
Falls beim Anmeldeversuch auf einem System mit aktivem MATE-Desktop die Meldung Could not acquire name on session bus (oder so ähnlich) kommt, wird hier das Meiste sinnvoll erklärt:

Allerdings war bei mir der Grund für die Meldung ein ganz simpler: XRDP lässt den Benutzer nicht rein, wenn dieser bereits eine andere Session für sich geöffnet hat - beispielsweise lokal, gar nicht remote... Nachdem ich mich aus der lokalen Sitzung ausgeloggt habe, funktionierte die Anmeldung sofort (auf Debian XPC - in der VM war das Problem komplett anders (siehe unten))!

Im Übrigen siehe auch hier:

b. Anforderungen an Passwort
Wenn das Passwort nicht kompliziert genug ist, geht das Login auch nicht...
insbesondere im Post mit "Please use good enough username and password [...]". Es sind 3 von 4 Merkmalen im Passwort notwendig: 1) kleine Buchstaben, 2) große, 3) Ziffern, 4) Sonderzeichen

3. Probleme mit Tastatur
An sich funktioniert XRDP für eine Remote-Session auch in Linux super - egal, ob das ein Microsoft-Protokoll ist oder nicht... Eines der wenigen Probleme ist für mich die Tastaturbelegung. Sie ist bei Anmeldung in der Regel falsch - egal was man tut. Sogar eine Veränderung der Fenstergröße für die XRDP-Session führt zum Verlust des Layouts... Folgende Punkte können überprüft werden:

# locale - Einstellungen prüfen und korrigieren:
localectl status # = Einstellungen prüfen; wenn de nicht korrekt überall:
localectl set-x11-keymap de

# das hilft aber nicht immer! deshalb: Datei
"/etc/xrdp/xrdp_keyboard.ini" bearbeiten!
# überall, wo das Mapping definiert wird und verschiedene Listen für verschiedene Sprachen
# genannt werden, muss das deutsche Layout (wenn man das haben will) an den Anfang gestellt
# werden:

[default_rdp_layouts]
rdp_layout_de=0x00000407
rdp_layout_us=0x00000409
rdp_layout_us_dvorak=0x00010409
rdp_layout_us_dvp=0x19360409
rdp_layout_dk=0x00000406
;rdp_layout_de=0x00000407

[...]

[default_layouts_map]
rdp_layout_de=de
rdp_layout_us=us
rdp_layout_us_dvorak=dvorak
rdp_layout_us_dvp=us(dvp)
rdp_layout_dk=dk
;rdp_layout_de=de

[...]

[rdp_layouts_map_mac]
rdp_layout_de=de
rdp_layout_us=us
rdp_layout_us_dvorak=dvorak
rdp_layout_us_dvp=us(dvp)
rdp_layout_dk=dk
;rdp_layout_de=de

# aber auch das ist nicht ausreichend!

##########
# nächster Anlauf war mit Eingabe von Befehlen in die STartskripte = Dateien
"/etc/xrdp/startwm.sh"
und
"/etc/xrdp/reconnectwm.sh"
der Zeile:
( sleep 3; setxkbmap -model pc105 -layout de)&

# aber auch das half nicht gegen Probleme nach Herumspielen mit der Fenstergröße!

##########
# also noch mal - in die Datei
"/etc/xrdp/xrdp.ini"
# und die Keyboard-Mappings überschreiben:

; The following options will override the keyboard layout settings.
; These options are for DEBUG and are not recommended for regular use.
#xrdp.override_keyboard_type=0x04
#xrdp.override_keyboard_subtype=0x01
#xrdp.override_keylayout=0x00000409
xrdp.override_keylayout=0x00000407

# letzte Zeile ist entscheidend, weil sie mit deutschem Layout alles überschreibt!



B. Headless Ubuntu mit dummy-monitor
Mit dem entsprechenden Treiber kann das Problem umgangen werden, dass ein Zugriff über Fernwartung auf Ubuntu ohne angeschlossenen Bildschirm nicht funktioniert... Geht so - alles als root sudo su:

1. Dummy-Treiber installieren
apt install xserver-xorg-video-dummy

2. Konfiguration des Treibers / X-Servers
unter /etc/X11/xorg.conf Konfiguration speichern

Die besten Resultate habe ich damit erreicht (Ubuntu 20.04, Anydesk) - siehe auch hier:

Section "Monitor"
Identifier "Monitor0"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
# 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
Section "Device"
Identifier "Card0"
Driver "dummy"
VideoRam 256000
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Depth 24
Modes "1920x1080_60.00"


Siehe auch:

3. Auto-Login
Solange kein Benutzer angemeldet ist, geht AnyDesk auch nicht. Deshalb - um am Beispiel Ubuntu 20.04 zu bleiben - die config-Datei /etc/gdm3/custom.conf wie folgt bearbeiten:


# Enabling automatic login
AutomaticLogin = [username]


C. Anydesk
Die Installation über Repository ist am bequemsten... Beschreibung hier:
http://deb.anydesk.com/howto.html

Für den Fall, dass nicht verfügbar, hier Step-by-Step:

wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY | apt-key add -
echo "deb http://deb.anydesk.com/ all main" > /etc/apt/sources.list.d/anydesk-stable.list
apt update
apt install anydesk


D. SUDO in verschiedenen Varianten
Manche Linux-Distros haben keinen aktiven ROOT-User und lassen normale User mit SUDO Administrationsaufgaben erledigen. Dies ist mitunter nicht so einfach - also hier ein paar Hinweise:

1. Grundsätzliches
SUDO dürfen nur die User, die in der Benutzergruppe "sudo" auch enthalten sind.
Auch ist SUDO nur dann möglich, wenn entsprechende Pakete installiert sind.

2. SUDO ohne Passwort
Insbesondere für Fernwartung per Konsole und ihre Automatisierung (Beispiel: Ansible) ist es mitunter notwendig, die Passwortabfrage zu unterdrücken. Man kann also einem vertrauenswürdigen Benutzer den Zugriff auf administrative Aufgaben per SUDO ohne Passwort ermöglichen. Dies geht so:
# in der Datei /etc/sudoers muss folgender Eintrage enthalten sein:
username  ALL=(ALL) NOPASSWD: ALL

# ABER: der Eintrag funktioniert nur bei richtiger Reihenfolge der Einträge
# das würde zum Beispiel nichts bringen!
username  ALL=(ALL) NOPASSWD: ALL
%sudo   ALL=(ALL:ALL) ALL

# WEIL: die Datei nach Reihenfolge der Einträge abgearbeitet wird und der letzte Eintrag
# die vorhergehende Anweisung aufhebt! also muss
username  ALL=(ALL) NOPASSWD: ALL
# am Ende stehen!




CategoryITKnowledge
Diese Seite wurde noch nicht kommentiert.
Valid XHTML  |  Valid CSS  |  Powered by WikkaWiki