authorized_keys Variáveis de ambiente que não definem variáveis de ambiente

6

Eu criei o arquivo ~ / .ssh / environment lá eu coloquei:

LEVEL=0

Quando executo um script sobre o ssh para obter o nível da variável de ambiente, ele retorna 0 como deveria.

No arquivo authorized_keys eu tenho várias chaves e estou tentando mudar o valor em poucos, então quando eu executo um script do outro lado ele pode modificar como ele processa as informações. Eu estou adicionando o seguinte antes da chave normal:

command="/path/to/script" environment="LEVEL=1"

Se eu não tiver o segmento de ambiente, o script é executado corretamente, mas se eu tiver a parte do ambiente definida, o script não será executado.

Eu não sei exatamente o que estou fazendo de errado. Estou chegando perto disso corretamente?

essencialmente eu tenho 4 chaves diferentes e em alguns casos eu quero que as pessoas tenham um nível 1 ou 2 com o padrão 0, mas eu quero definir quem tem o nível e tê-lo definido apenas enquanto eles estiverem logados para executar seu comando.

Eu acho que mal entendi como é que isso funciona, então meu entendimento pode estar completamente errado sobre como isso deve funcionar.

Alguma idéia?

    
por percent20 06.04.2011 / 00:16

2 respostas

5

Tente isto:

command="export LEVEL=1; /path/to/script"
    
por 06.04.2011 / 00:48
4

O primeiro palpite é que sua sintaxe está um pouco errada.

Eu nunca usei pessoalmente o argumento "environment" antes, mas de ter que escrever entradas custom_keys customizadas antes, acredito que argumentos opcionais no início de uma entrada authorized_keys exigem vírgulas entre cada argumento, não espaços.

Tente:

command="path/to/script",environment="LEVEL=1" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArestofkeyhere comment_stuff

Espero que isso ajude.

    
por 06.04.2011 / 01:00