A coisa a ser lembrada é que ~/.ssh/environment
é lido antes que um comando shell ou ssh
seja gerado, portanto (por exemplo) nem a exportação nem o $ PATH fazem sentido. Você só pode definir variáveis de ambiente (não executar comandos gerais do shell) aqui.
Se você pegar o ambiente para um shell ssh não interativo, modifique-o, você deve obter o que deseja para comandos não interativos. Por exemplo:
$ ssh mylogin@myserver env
lhe dará o que o ssh começa no seu servidor. Se você escrever seu arquivo ~/.ssh/environment
como:
PATH=/usr/local/bin
e execute novamente o acima, você deve obter "bash: env: comando não encontrado". Bom!
Agora, crie seu caminho explicitamente, com base no que era base do sshd
de seu sistema (por exemplo, a primeira chamada "ssh .... env"), por exemplo (adicionando /usr/local/bin
na cabeça) :
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Note também que não é útil tentar definir o CWD em ~/.ssh/rc
(que é executado após ~/.ssh/environment
ser lido, mas antes de seu ssh
shell ou comando), pois seu shell será iniciado (por padrão) no caminho da sua casa.