Parâmetro SSH para ignorar o script .bashrc


8

Eu tenho um servidor que, quando é iniciado, uma linha .bashrcexecuta o seguinte comando /bin/watch ~/checker.bashque, como esperado, observa esse comando no início do servidor.

Eu também tenho um cliente que efetua login nessa máquina, mas não quero que as sessões do cliente executem o mesmo comando no .bashrc.

Eu procurei AcceptEnvpassar env vars, embora exija a configuração do servidor, o que eu quero evitar.

Também não quero ter duas contas de usuário diferentes para diferentes .bashrc.

Existe outro ângulo para abordar isso?


por que você não quer duas contas diferentes? todos os "clientes" (que parece ser um não relacionados 3 partes) deve ser isolado (também de si mesmo)
trema

Respostas:


5

você pode ativar partes do seu .bashrcsomente se não for chamado via ssh.

por exemplo, algo como:

# within an SSH-session, ${SSH_TTY} will be set
if [ "x${SSH_TTY}" = "x" ]; then
  /bin/watch ~/checker.bash
fi

funcionou como um encanto e todas as respostas aqui me ensinaram muito. Muito apreciado!
Ljs.dev 3/11

13

Dois caminhos:

Não use o bash para esta sessão, tente o dash (ou / bin / sh):

ssh 127.0.0.1 /bin/dash

Use o bash com opções de comando para desativar o processamento de arquivos de inicialização:

ssh 127.0.0.1 "bash --noprofile --norc"

você já tentou seus caminhos? (esp. # 2)?
trema

1
O segundo método apenas trava para mim.
slm

5
O segundo método funciona perfeitamente para mim. Você não vê um prompt, pois o PS1 não está definido, o que é um efeito colateral do desempenho conforme solicitado.
Dan Garthwaite

os dois simplesmente ficam pendurados para mim
Aditya Mittal

@AdityaMittal Ambos parecerão travar se você estiver chamando uma sessão interativa porque não há um prompt do PS1. Tente digitar 'ls /'
Dan Garthwaite

2

Você pode substituir a linha / caixa / relógio .... por

 if ps ax | grep /bin/watch | grep -v grep  > /dev/null 2>&1
 then
    echo "Nothing to do"
 else
    /bin/watch ~/checker.bash
 fi

ou algo assim.


OK ótimo. Nesse caso, posso ter vários shells executando o watchcomando, mas gosto da solução.
Ljs.dev 3/11
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.