Altera o PATH padrão do openssh

1

Estou tentando executar um comando diretamente do ssh e preciso alterar o PATH dos diretórios.

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

Estou recebendo / usr / local / bin, mas preciso apenas de / bin em vez disso. Eu tenho .bashrc e .bash_profile definido no meu diretório home, mas o PATH não está tomando de lá. Eu tentei mudar / etc / bashrc e / etc / profile mas ainda sem sorte.

Eu vi o arquivo sshd_config que o ssh é compilado com o PATH = / usr / local / bin: / bin: / usr / bin. Então, existe uma maneira de alterar esse caminho padrão?

> 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
    
por Sriharsha Kalluru 28.03.2014 / 03:54

1 resposta

2

Eu estou supondo que você está usando o OpenBSD, que o shell padrão é ksh (não bash), a menos que você o tenha alterado. Quando você executa um comando por meio do SSH, ele é chamado de maneira não interativa. No caso do tsh, não acho que haja uma maneira de forçá-lo a definir o caminho modificando a configuração. Existem duas opções que posso pensar em cima da minha cabeça.

Um, você pode especificar o caminho antes de executar o seu comando.

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

Dois, você pode definir PermitUserEnvironment como sim em / etc / ssh / sshd_config e criar um arquivo em ~ / .ssh / environment que contenha algo como ...

PATH=/my/path

Espero que isso ajude!

    
por 28.03.2014 / 08:36

Tags