[aklug] Re: PATH for non-interactive ssh stuff?

From: Christopher Howard <choward@indicium.us>
Date: Sat Aug 14 2010 - 23:25:19 AKDT

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 08/14/10 23:16, Christopher Howard wrote:
> On 08/14/10 22:05, Joshua J. Kugler wrote:
>> On Saturday 14 August 2010, Christopher Howard elucidated thus:
>>> Problem: I installed git in my HOME directory on a remote system I
>>> don't have root access to. Works great when I'm logged-in, but when I
>>> try to clone a repo over ssh, I get this: (command is being executed
>>> on my local computer, to clone repo on remote system where I did the
>>> git custom install)
>>>
>>> bash: git-upload-pack: command not found
>>> fatal: The remote end hung up unexpectedly
>>>
>>> What is happening is, over SSH, it can't find that binary. Its
>>> installed in ~/bin, but that isn't in the PATH:
>>>
>>> $ ssh myusername@myremoteserver.com echo \$PATH
>>> /usr/bin:/bin
>>>
>>> Adding info to the PATH in .bashrc or .profile on the remote system
>>> doesn't change the PATH displayed when I run the previous command.
>
>> I have this in my profile:
>
>> # set PATH so it includes user's private bin if it exists
>> if [ -d "$HOME/bin" ] ; then
>> PATH="$HOME/bin:$PATH"
>> fi
>
>> There is a note at the top of .profile, though:
>
>> # ~/.profile: executed by the command interpreter for login shells.
>> # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
>> # exists.
>
>> Hope that helps.
>
>> j
>
>
> Thanks, but no, that doesn't help. My problem is that the .profile and
> .bashrc files are apparently not being read before the non-interactive
> session.
>
> I did additional research. The SSH(1) indicates:
>
> "Additionally, ssh reads ~/.ssh/environment, and adds lines of the
> format ``VARNAME=value'' to the environment if the file exists and users
> are allowed to change their environment. For more information, see the
> PermitUserEnvironment option in sshd_config(5)."
>
> Unfortunately, this does not seem to work for me. I'm guessing that said
> PermitUserEnvironment is not set, although I can't find out for sure
> because I can't even find an sshd_config file on the remote system.
>
> (grrrr...) I wish I was working with a self-managed server. Did you know
> you can get a dedicated 1.7Ghz machine for $40 a month?
> (https://www.sevenl.net/servers/147) Unfortunately, I'm probably not
> going to be able to convince my client that a switch from $8 a month to
> $40 a month is necessary because it will me configuration easier for the
> web guy. >:(
>

Praise Providence... There is a work-around. The "git clone" function
has an "--upload-pack" switch which allows you to set a path to the
remote git program used for compression.

  git --upload-pack /home/myuser/bin/git-upload-pack
ssh://myuser@example.com/my_repo my_repo

So, I solved my problem, if not the fundamental one.

- --
Christopher Howard
frigidcode.com
theologia.indicium.us
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.15 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkxnll8ACgkQQ5FLNdi0BcVknQCcDyJder+74So38sxz4QAAvsJg
LmYAn15SZp8IzeXXhEjTS579PfR44wxC
=y8xV
-----END PGP SIGNATURE-----
---------
To unsubscribe, send email to <aklug-request@aklug.org>
with 'unsubscribe' in the message body.
Received on Sat Aug 14 23:22:55 2010

This archive was generated by hypermail 2.1.8 : Sat Aug 14 2010 - 23:22:55 AKDT