FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Hard- und Softwarefragen

SSH problem

SSH problem 2013-04-22 18:22
laut.sprecher
Ich hab zuhause nen kleinen QNAP NAS-server laufen und mir da per IPGK git drauf installiert. das ist in dem ordner /opt/bin gelandet. der ist allerdings nicht standardmäßig in meiner $PATH variable. und hier fängt irgendwo das problem an. ich hab
export PATH=/opt/bin:/opt/sbin:$PATH in ~/.bash_profile, /etc/profile, ~/.ssh/rc und ~/.bashrc eingefügt und sogar jedes mal noch ein echo dazu gepackt, damit ich sehen kann welche von den dateien eigentlich so ausgeführt werden. wenn ich jetzt ssh admin@nas aufrufe und ne interaktive shell aufm server bekomme ist auch alles fein, es werden sage und schreibe alle von den oben genannten dateien ausgeführt und echo $PATH gibt mir auch nen pfad mit meinen neuen verzeichnissen zurück, aber wenn ich einen nicht-interaktiven aufruf à la ssh admin@nas 'echo $PATH' mache, dann wird zwar ~/.ssh/rc ausgeführt, aber das echo gibt hinterher trotzdem den pfad ohne die neuen ordner zurück.

Ich könnte natürlich auch jedes mal den ganzen pfad zum command angeben, also z.B. ssh admin@nas /opt/bin/git-upload-pack aber das müsste ich dann ja auch noch meiner IDE beibringen, und überall sonst, wo ich git verwenden will. Oder ich müsste das überall erstmal in die git config reinschreiben (remote.nas.uploadpack=/opt/bin/git-upload-pack) und das für alle befehle die so verwendet würden… das ist eindeutig zu umständlich.

Wer kann mir dabei behilflich sein? Wie kriege ich meine PATH variable auch bei nem nicht interaktiven ssh command vernünftig gesetzt? warum funzt meine variante nicht? werden anschließend noch mir unbekannte skripte o.ä. ausgeführt, die den PATH wieder zurück setzen? ich bin für jeden hinweis dankbar

cheers
Ole

RE: SSH problem 2013-04-22 21:48
Anonymer User
Ich geh mal davon aus, dass:
* keine shell gestartet wird, also bashrc etc. nutzlos sind
* dein "git-upload-pack" kein child von "~/.ssh/rc" ist, also auch egal ist, was du da reinschreibst.

Du kannst sshd mit anderem PATH starten, aber das ist nicht sinnvoll.
Dann gibt es wohl die möglichkeit, environment-variablen in authorized_keys (man sshd) oder im client zu setzen (man ssh_config, suche SendEnv), was aber wiederum Änderungen an der sshd-config erfordert.

Wenn du nur git brauchst, kannst du auch die "git-shell" benutzen. Neuen User für git anlegen, git-shell als shell. Das mach ich und bin zufrieden.
Es gibt auch deutlich flexiblere programme um git zu managen, aber fällt mir gerade der name nicht ein.

RE: SSH problem 2013-04-23 19:41
laut.sprecher
Hey, danke für deine Antwort! Ich habs jetzt so gelöst, dass ich für alle Befehle symlinks in /bin abgelegt habe. Das funktioniert bis jetzt tadellos, hoffe das bleibt so…

RE: SSH problem 2013-04-24 07:09
Anonymer User
wenn dann nimm wenigstens /usr/bin, oder falls möglich, /usr/local/bin