Synology-Forum.nl

Packages => 3rd party Packages => Overige 3rd party packages => Topic gestart door: Basalt op 08 oktober 2021, 08:58:56

Titel: SSH Git Server
Bericht door: Basalt op 08 oktober 2021, 08:58:56
Als voorbereiding op de migratie naar een nieuwe NAS ben ik net overgestapt van DSM 5.2 naar de huidige 6.2.4.

Voorheen kon ik vanaf mijn PC op de Git Server inloggen met een public key, nu werkt dat niet meer.
C:\Windows\System32>ssh Erik'@'Basalt
Permission denied, please try again.
Connection to basalt closed.
(@-sign tussen quotes gezet, anders doet de forum software wat raars ermee)

Zodra ik mijzelf (Erik) lid maak van de admin groep werkt dat wel weer, maar dat is uit security oogpunt ongewenst.
Ik kan natuurlijk een gebruiker 'Git' aanmaken die wel lid is van de admin groep, en verder zo min mogelijk toegang heeft.

Maar is er nog een andere manier om 'als vanouds' zonder admin account toch met de Git Server te werken?
Titel: Re: SSH Git Server
Bericht door: Briolet op 08 oktober 2021, 10:51:49
Ik logde altijd met wachtwoord in en nooit met een certificaat. De laatste keer dat ik het met een useraccount probeerde, lukte dat gewoon. Nu krijg ik idd.

$ ssh brioletuser@nas
brioletuser@nas's password:
fatal: git package does not support interactive shell

Connection to nas closed.

Vroeger kwam je in een shell waar je alleen git gerelateerde commando's kon geven. Git heeft intussen ook wel een paar updates gehad. Dus geen idee of dit een verandering in dsm 6.2 is, of in git.
Titel: Re: SSH Git Server
Bericht door: Basalt op 08 oktober 2021, 20:33:10
Het werkt toch wel met een gewone (niet-admin) gebruiker  :)

Zoals gewoonlijk waren er 2 dingen aan de hand:

1) Ik had mijzelf destijds onder DSM 5.2 niet in het lijstje van Git Server gebruikers aangevinkt, was kennelijk niet nodig, maar nu onder DSM 6 wel.
(OF je moet een admin gebruiker zijn, dan wordt je naam vanzelf 'grijs aangevinkt' (kan je dus niet uitzetten)).

2) In mijn oude aantekeningen van de installatie van Git Server onder DSM 5.2 had ik het 'ssh Erik'@'Basalt' test commando gebruikt, maar onder DSM 6 mag je alleen als admin gebruiker een interactieve shell starten. De foutmelding die Briolet kreeg: 'fatal: git package does not support interactive shell' was correct.

Ik heb nog geprobeerd om ipv een interactieve shell alleen een geldig git commando uit te laten voeren, maar kreeg daar telkens een foutmelding op, bijvoorbeeld:
C:\Windows\System32>ssh Erik'@'Basalt git --v
fatal: git package does not support customized git-shell-commands

MAAR: als je bovenstaande foutmelding krijgt dan is het inloggen WEL gelukt (anders krijg je 'Permission denied') en werkt bijvoorbeeld Visual Studio Code keurig met de Git Server :thumbup:

Probleem opgelost, bedankt voor het meedenken!
Titel: Re: SSH Git Server
Bericht door: Briolet op 08 oktober 2021, 20:47:30
Ik heb in 2018 eens een klein projectje gehad waarbij een gewone user mijn git server kon gebruiken. Dat moet onder DSM 6.1.x geweest zijn. Indertijd heb ik de shell getest als user en werkte dan nog gewoon. (waarschijnlijk net als bij DSM 5.2)

Ik denk dat de verandering dan bij 6.2 ingevoerd is. In de releasenotes van DSM 6.2.0 lees ik ook:

SSH authentication by DSA public key is prohibited for security concerns.
Toen zijn er dus extra veiligheden ingebouwd.
Titel: Re: SSH Git Server
Bericht door: Basalt op 08 oktober 2021, 22:57:55
Nog wat extra info, for the record:

In /etc/passwd staat nu voor mij (Erik):
Erik:x:<MijnUserID>:100::/var/services/homes/Erik:/var/packages/Git/target/bin/git-shell

En ik kwam op Forum van community.synology.com (https://community.synology.com/enu/forum/8/post/147518) nog een soortgelijke klacht tegen, die kennelijk opgelost werd door een andere versie van git-shell te installeren. Maar dat is bij mij dus niet nodig, het werkt gewoon.

Titel: Re: SSH Git Server
Bericht door: Briolet op 09 oktober 2021, 09:26:37
Dank voor het opzoeken. Ik begrijp dat dit dus gekomen is door een aanpassing in het Git  Package "Version: 2.26.2-0125" van Synology dat 7 september uitgekomen is.

Wel slordig dat zo'n grote aanpassing niet in de releasenotes vermeld wordt. In de release notes (https://www.synology.com/nl-nl/releaseNote/Git?model=DS415%2B#7_x_series) staat slechts 'minor bugfixes'. Dat zo'n ingrijpende aanpassing niet in de releasenotes staat zou bijna doen vermoeden dat het een bug is.

Vreemd dat de Synology helpdesk beweert dat je geen versie terug kunt gaan. Het moet gewoon mogelijk zijn het pakket te deïnstalleren en dan via Synology (https://archive.synology.com/download/Package/Git) een oufere versie op te halen en te installeren. De buildnummers met duizendtallen zijn de DSM 7 versies.

NB. Ook hier valt het me op dat Synology geen pakketten heeft die zowel onder DSM 6 als onder DSM 7 werken. Het pakket wordt steeds met twee verschillende versienummers uitgegeven. Blijkbaar is DSM 7 zo anders dat het echt in een ander pakket moet.