更改openssh的默认path

我试图直接执行从SSH的命令,我需要改变目录的PATH。

> ssh myserver 'echo $PATH' myuser@myserver's password: /usr/local/bin:/bin:/usr/bin 

我得到/ usr / local / bin,但我只需要/ bin而不是。 我的.bashrc和.bash_profile设置在我的主目录中,但PATH没有从那里取出。 我试图改变/ etc / bashrc和/ etc / profile,但仍然没有运气。

我已经看到了ssh是用PATH = / usr / local / bin:/ bin:/ usr / bin编译的sshd_config文件。 那么有没有办法改变这个默认path?

 > cat /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin 

我猜你正在使用OpenBSD,默认的shell是ksh(不是bash),除非你改变了它。 当您通过SSH运行命令时,它将以非交互方式调用。 在tsh的情况下,我不认为有办法强制它通过修改configuration来设置path。 我可以从头顶上看到两种select。

一,你可以在执行你的命令之前指定path。

 ssh myhost 'PATH=/my/path; echo $PATH' 

二,您可以在/ etc / ssh / sshd_config中将PermitUserEnvironment设置为yes,然后在〜/ .ssh / environment中创build一个包含如下内容的文件…

 PATH=/my/path 

希望这可以帮助!