SSH - Como forçar a execução de um script (/ etc / sshrc, ForceCommand, ..?) no login, mas ainda permitir a execução do ~ / .ssh / rc do cliente?

0

Tanto quanto eu sei no login SSH os seguintes arquivos são executados

[SERVER] /etc/environment

[Client] ~/.ssh/environment
-> can be locally overriden by "SSH_ENV" environment variable
-> will override Host=>SendEnv in local ~/.ssh/config
-> will be filtered by "AcceptEnv" directive(s) in remote /etc/ssh/sshd_config
-> will NOT be used if "PermitUserEnvironment no" in remote /etc/ssh/sshd_config

[SERVER] /etc/ssh/sshrc         
-> will NOT get executed if "ForceCommand" exists in remote /etc/ssh/sshd_config
-> will NOT get executed if local ~/.ssh/rc exists
-> can be overriden by "ForceCommand" (kind of)

[Client] ~/.ssh/rc              
-> will NOT get executed if "ForceCommand" is configured
-> can be overriden by local "???" environment variable?

Pergunta

Como posso forçar a execução de um script no servidor, mas ainda permitir que o cliente use seu ~/.ssh/rc ?

Pergunta bônus

É possível substituir o local ~/.ssh/rc local usando uma variável de ambiente? Se sim qual deles?

    
por nifr 26.11.2013 / 15:30

1 resposta

1

A solução parece ser avaliar o

% bl0ck_qu0te%

variável de ambiente que é definida para o comando no ~/.ssh/rc do cliente dentro do script configurado como ForceCommand .

Eu encontrei esta solução possível em esta resposta .

Remaining : Existe uma maneira de substituir a localização ~/.ssh/rc usando uma variável de ambiente?

    
por nifr 26.11.2013 / 15:58