编辑:
我编辑了这个问题,因为服务器是一个godaddy共享主机,所以它有一个独特的配置. / etc / ssh / sshd_config和/ etc / ssh / ssh_config文件为空.这些文件中有评论,如果你好奇我可以在这里复制.
>〜/ .bash_profile来源(仅限bash连接),
>〜/ .bashrc永远不会被采购,
>〜/ .profile永远不会被采购,
>〜/ .ssh /环境永远不会被采购,
>〜/ .ssh / rc来源(通过bash和远程两者),但我认为是
在子shell中调用,因为变量消失了.
>〜/ .ssh / authorized_keys每次都来源,但我必须这样做
在每个rsa键之前写入命令(所以我不想这样做
配置那个).
摘要:
我可以配置bash井(使用.bash_profile),但我无法配置远程调用.那就是问题所在.我正在寻找一个由bash和远程命令提供的文件.
例如:
git-upload-pack命令找到exe文件,因为设置了GIT_EXEC_PATH env变量,但是使用远程:“git clone user@domain.com:myrepo local / myrepo”服务器找不到该命令,因为GIT_EXEC_PATH没有设定.
EDIT2:
根据this和我的printenv日志:〜/ .ssh / rc在普通shell中运行,而不是在子shell中运行,所以这是一个谜,为什么env变量不会粘…
我创建了一个可执行文件:〜/ logenv:
echo "" >> mylog.txt date >> mylog.txt printenv >> mylog.txt echo "" >> mylog.txt
把它放到〜/ .ssh / rc中:
export AAA=teszt source ~/logenv
通过bash登录& “来源logenv”的结果是:
Tue May 15 04:21:37 MST 2012 TERM=cygwin SHELL=/bin/bash SSH_CLIENT=censored SSH_TTY=/dev/pts/2 USER=myuser AAA=teszt MAIL=/var/mail/myuser PATH=/usr/local/bin:/bin:/usr/bin PWD=/home/content/65/7962465 SHLVL=3 HOME=/var/chroot/home/content/65/7962465 LOGNAME=myuser SSH_CONNECTION=censored _=/usr/bin/printenv Tue May 15 04:21:41 MST 2012 HOSTNAME=censored TERM=cygwin SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=censored
通过远程“ssh myuser@domain.com’exec~ / logenv’”结果是:
Tue May 15 04:25:52 MST 2012 SHELL=/bin/bash SSH_CLIENT=censored USER=myuser AAA=teszt MAIL=/var/mail/myuser PATH=/usr/local/bin:/bin:/usr/bin PWD=/home/content/65/7962465 SHLVL=3 HOME=/var/chroot/home/content/65/7962465 LOGNAME=myuser SSH_CONNECTION=censored _=/usr/bin/printenv Tue May 15 04:25:52 MST 2012 SHELL=/bin/bash SSH_CLIENT=censored USER=myuser PATH=/usr/local/bin:/bin:/usr/bin MAIL=/var/mail/myuser PWD=/home/content/65/7962465 HOME=/var/chroot/home/content/65/7962465
所以rc文件来源,但之后变量消失……:S