Trädvy Permalänk
Medlem
Registrerad
Jun 2006

X över ssh med sudo

Hej!

Har en nyinstallerad Debian (utan X installerat) på min "server". Jag försöker köra X över ssh med sudo men den säger:
sudo medit

X11 connection rejected because of wrong authentication. (medit:404): Gtk-WARNING **: cannot open display: localhost:10.0

Som vanlig user så funkar det, men inte med sudo eller som root (som root har det ju aldrig fungerat per default)

Jag har aldrig haft det här problemet förut och det har alltid varit att tuta och köra.

Jag googlade lite och gjorde detta:

xauth add $(xauth -f ~användaren/.Xauthority list|tail -1)

Detta funkar tills jag gör en reboot och måste köra kommandot igen. Finns det någon permanent lösning? tänker nån inställning i /etc/ssh/sshd_config?

Trädvy Permalänk
Avstängd
Plats
som gud är min närvaro överallt.
Registrerad
Nov 2005

@Defcon: den säger att det är fel på autentiseringen, har du rätt lösen?
tänker på att ibland stämmer inte tangentbordslayout, tex har jag fått liknade fel när jag kört mot en Ubuntu maskin då har jag haft med @ eller _ i lösenordet, problemet var bara att det blev inte @ eller _ på maskinen jag försökte slå in det på för maskinen hade ett annat tangentbordslayout även om det stod svenska på båda, enda lösningen var att sätta båda till eng. ( bara en tanke)

Om du lär dig älska din smärta kommer du känna dig älskad var dag;-)

main dator: rampage v10, 6950x, Titan xp,64gig ram,intel 950,2x 10gig nic, asus 2k 165hz ips skärm, 900D custom vattenkylning.
main server: Supermicro, amd 6386se 16 trådar, 20TB i raid 6, 64gig ecc ram, 6x 10 gig nic. custom vattenkylning. 1/1gig nätverk via dedikerad fiberlina, router:usg pro4

Trädvy Permalänk
Medlem
Registrerad
Jun 2006

jag har rätt lösen. Jag kan köra kommandon som su och sudo

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2004

från klienten ssh användare@maskin -X
Du behöver ha det enablat i sshd_config på servern.

i7 8700k | NZXT Kraken x62 | Asus Strix Z370-F | 2*8GB G.Skill Trident Z | 3*Samsung 250 GB 850 EVO SSD | NZXT H500i | EVGA SuperNOVA G3 750W | Samsung 24" CFG70 | Asus VG248QE | Realforce 88UB | SteelSeries Rival 310 + SX | Sennheiser PC360 |

Trädvy Permalänk
Medlem
Registrerad
Aug 2015
Skrivet av PierreB:

från klienten ssh användare@maskin -X
Du behöver ha det enablat i sshd_config på servern.

Ska vara -Y om det är nyare openssl/ssh. -X ger på denna en begränsad forwarding.

Så om -Y ger felmeddelande, använd -X.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2004

@SAFA: Får skylla på att det var ett tag sen jag körde från linux -> linux.
Kör mest putty med xming för att få fram nåt grafiskt.

i7 8700k | NZXT Kraken x62 | Asus Strix Z370-F | 2*8GB G.Skill Trident Z | 3*Samsung 250 GB 850 EVO SSD | NZXT H500i | EVGA SuperNOVA G3 750W | Samsung 24" CFG70 | Asus VG248QE | Realforce 88UB | SteelSeries Rival 310 + SX | Sennheiser PC360 |

Trädvy Permalänk
Medlem
Registrerad
Jun 2006

Spelar ingen roll om jag använder Y eller X. Inget av dem funkar.

Trädvy Permalänk
Medlem
Registrerad
Mar 2016

Jag förmodar att ssh försöker ansluta till din X server men misslyckas.
Testa:
Ge program på din dator åtkomst till X:
$ xhost + localhost

eller, för att stänga av åtkomstkontroll helt och hållet (!! inte säkert!!):
$ xhost +

Trädvy Permalänk
Medlem
Registrerad
Jun 2006

Fungerar inte det heller.

Trädvy Permalänk
Medlem
Registrerad
Aug 2015
Skrivet av Defcon:

Fungerar inte det heller.

I serverns /etc/ssh/sshd_config ska raden X11Forwarding yes finnas med enligt nedan:

#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes

Sen behöver man starta om sshd

Sen ska det från annan maskin gå att göra:

ssh -Y user@server

och sen tex
xclock

Funkar inte det heller?

edit:

eller är det så att du från "maskin" gör:

maskin$ ssh -Y user@server

server$ su

# xclock

så lär det inte funka.

bättre is så fall ssh:a in direkt som root, så ska det funka

För det kan du behöva lägga till ett lösenord på root och sen lägga till
PermitRootLogin yes
i /etc/ssh/sshd_config

Trädvy Permalänk
Medlem
Plats
Västra Götaland
Registrerad
Okt 2016

Kolla så din server inte är out of space:
df -H

Kolla så ~/.Xauthority ägs av dig:
ls -la | grep .Xauthority

Om du inte äger .Xauthority så skriv följande:
chown user:group ~/.Xauthority
chmod 0600 ~/.Xauthority

Om ~/.Xauthority inte existerar så skapa den för annars kommer det inte att fungera:
touch ~/.Xauthority

Dubbelkolla så X11 SSHD Forwarding är aktiverat, annars fungerar det inte:
grep X11Forwarding /etc/ssh/sshd_config

Finns inte denna så lägg till x11 sshd forwarding:
X11Forwarding yes

Se till att ssh_config är inställd på följande sätt:
Host *
ForwardX11 yes

Tillslut, anslut på följande vis:
ssh -X user@ip xeyes

Vill du temporärt ta bort auth på din server som du har problem med så kan du tillåta alla hosts på servern:
xhost +

Följa mina trådar hur jag gång på gång avslöjar Telias backdörrar som dom planterat på din Technicolor router. Dom ser till och med när du startar och stänger av routern på sekunden, inte nog med det. Dom loggar det också!!!

https://wuseman.github.io/TG799vac-Xtream-V16.2-JADE/
https://wuseman.github.io/TG799VAC-XTREME-17.2-MINT/

Trädvy Permalänk
Medlem
Registrerad
Jun 2006
Skrivet av wuseman:

Host *
ForwardX11 yes

Tillslut, anslut på följande vis:
ssh -X user@ip xeyes

Vill du temporärt ta bort auth på din server som du har problem med så kan du tillåta alla hosts på servern:
xhost +

Lägger jag till Host * så kan jag inte ansluta alls.
Får installera grafikkort, skärm och tangentbord till den.
Kanske ska testa en annan distro. Kör Debian på min stationära men vete tusan om det är bra som ett server OS...

Trädvy Permalänk
Medlem
Plats
Oslo
Registrerad
Okt 2002

Du gör helt rätt i första inlägget, du byter shell med sudo och har därför inte samma xauth som tidigare. Du kan säkert scripta det på något sätt så när du kör sudo så läser du .Xauth...

Trädvy Permalänk
Medlem
Registrerad
Jun 2006
Skrivet av Saihtam:

Du gör helt rätt i första inlägget, du byter shell med sudo och har därför inte samma xauth som tidigare. Du kan säkert scripta det på något sätt så när du kör sudo så läser du .Xauth...

Men detta har jag aldrig behövt göra mot vare sig Debian eller Ubuntu server. Det har funkat utan krusiduller. Jag installerade gksu och använder det istället.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Aug 2007
Skrivet av Defcon:

Kör Debian på min stationära men vete tusan om det är bra som ett server OS...

Debian runs the world, att ha en Debian server känns som handen i handsken, den tredje största "cloud providern" säger att bara 10% kör enterprise servrar och resten typ, Debian. Kanske inte helt riktigt, för han pratar om kernel. Men Debian är väl liksom det man går till om man vill ha en server, eller något baserat på det.

https://youtu.be/lQZzm9z8g_U?t=1561

Några sekunder in kommer det. Kul notering :=)

Ryzen 1700x @ Corsair 16gb 3200mhz lpx @ 512gb M2 pcie @ Gigabyte 7950 @ Msi x370 plus @ Evga 650 80+gold modulärt @ Fractal r5 @ Corsair hydro 110i @ Benq 144hz 1920-1080 24tum
i5 4670k @ Asus z-87a @ Corsair vx450 @ Corsair 16gb 1600mhz @ Fractal r3 @ 256gb Kingston
c2d e4400 @ 4gb noname @ 10tb+ @ noname chassi @ 128gb Kingston ssd

Trädvy Permalänk
Medlem
Plats
Oslo
Registrerad
Okt 2002

@Defcon: Det är på grund av säkerheten, gksu, "utan att jag läst på den" går runt og ärver settings från din användare skulle jeg anta.

Trädvy Permalänk
Medlem
Registrerad
Aug 2015
Skrivet av Saihtam:

Du gör helt rätt i första inlägget, du byter shell med sudo och har därför inte samma xauth som tidigare. Du kan säkert scripta det på något sätt så när du kör sudo så läser du .Xauth...

Enklast är nog följande:

På "server":
Sätt lösenord på root så det går att logga in som root utan sudo.
Sen i /etc/sshd_config se till att följande är satt:
PermitRootLogin yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

Kan vara nåt mer på, men detta räcker för mig.

Starta om sshd på servern.

På desktop:
(kolla att tex xclock funkar först)
user@desktop:~$ ssh -Y root@server
The authenticity of host 'server (xx.xx.xx.xx)' can't be established.
ECDSA key fingerprint is SHA256:..........................................
Are you sure you want to continue connecting (yes/no)? Yes
root@servers's password: ***********

så ska det funka, kolla med xclock.

---------------------------------------------------------------------------------------
Om man inte vill att det ska gå logga in som root remote så:

Ska det bara funka med xhost + eller xhost server så måste man fixa en del på desktop-maskinen:
I filen /etc/X0.hosts ska det stå:
INET:server

I /usr/bin/startx ska raden:
serverargs="-listen tcp"
finnas med

I filen /etc/X11/Xwrapper.config ska det stå:
#allowed_users = rootonly|console|anybody
allowed_users = anybody
#needs_root_rights = yes|no|auto

starta om X efter detta.

gör sen xhost +

ssh:a sen in på server, gör sudo bash eller vad du nu vill. Kolla att DISPLAY är rätt satt, om inte så

export DISPLAY=desktop:0.0

så ska xclock funka.

Nu kan det finnas skillnader om distron har systemd, men har inte så jag jan kolla det nu.