8
SSH-通过每个连接设置环境变量-Godaddy共享主机
我的问题是,我必须在服务器上设置环境变量(如GIT_EXEC_PATH)。我需要每个连接都具有该变量(因此也需要bash和远程命令)。我设法使用.bash_profile通过bash设置了这些变量,但是远程命令存在问题。我发现有可能在实际的rsa密钥之前在〜/ .ssh / authorized_keys中编写命令,但是我并不想一直写在那里,我需要一个永久的解决方案...我发现〜/ .ssh / rc文件由每个ssh登录执行,因此我在其中放置了env变量声明,但是没有用。这些变量在rc文件中设置,但之后消失了。:S也许rc文件在子shell中运行:S是否可以在没有代码重复的情况下在bash和远程命令中定义这些变量? 编辑: 我编辑了问题,因为服务器是Godaddy共享主机,所以它具有唯一的配置。/ etc / ssh / sshd_config和/ etc / ssh / ssh_config文件为空。这些文件中有注释,如果您好奇,可以在这里复制。 〜/ .bash_profile是来源(仅通过bash连接), 〜/ .bashrc从未被获取, 〜/ .profile从未获得, 〜/ .ssh / environment从未被获取, 〜/ .ssh / rc是由bash和remote两者提供的,但是我认为它在subshell中被调用,因为变量消失了。 〜/ .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未设置。 编辑2: 根据这个,我的printenv日志:的〜/ …