Usando a chave de um computador que eu conectei via SSH?

1

Atualmente, tenho um sistema em que estou usando uma área de trabalho para conectar-me a um gateway e, em seguida, a vários servidores a partir dele. A chave ssh da minha área de trabalho está no gateway e nos outros servidores, e eu estou executando scripts da área de trabalho que usam essa conexão, que tem coisas como

ssh -A $GATEWAY "ssh $SERVER \"./myscript $OPTIONS\""

O problema é que, quando eu conecto do meu computador doméstico à área de trabalho principal e uso o mesmo script, ele tenta usar a chave ssh do meu computador doméstico, mesmo que eu não use -A ao se conectar à área de trabalho. Existe uma maneira de especificar qual chave ssh usar ao fazer as conexões?

Eu tentei fazer

ssh -i ~/.ssh/id_rsa -A $GATEWAY "ssh $SERVER \"./myscript $OPTIONS\""

mas ainda não funciona. Eu não estou me conectando à máquina principal com -A, só estou fazendo ssh -i .ssh/loac_id_rsa user@main .

    
por user3599969 09.04.2016 / 06:51

1 resposta

1

Isso é bizarro. Você tem algo em arquivos .ssh / config?

Tente executar

ssh-add ~/.ssh/id_rsa

ao chegar na sua área de trabalho

EDITAR:

E se não tentar eval ssh-agent -s primeiro.

Desde que funcionou:

-A significa "conectar-se ao agente de autenticação". Seu gateway certamente precisa que o agente de autenticação esteja em execução em sua área de trabalho para encaminhar sua conexão ao host protegido. O agente de autenticação é provavelmente iniciado automaticamente quando você loga na sua área de trabalho com sua interface gráfica, mas aparentemente quando você loga usando ssh ele não funciona como você quer (ele só pega sua chave de casa e o ssh-add não funciona ). Então você lança um novo e se conecta a ele, adiciona sua chave e funciona.

Você provavelmente poderia simplificar um pouco e substituir

home$ ssh -i .ssh/loac_id_rsa user@main
desk$ eval 'ssh-agent -s'
desk$ ssh-add ~/.ssh/id_rsa
desk$ ssh -A $GATEWAY "ssh $SERVER \"./myscript $OPTIONS\""

com

home$ ssh -i .ssh/loac_id_rsa user@main ssh-agent bash
desk$ ssh-add ~/.ssh/id_rsa
desk$ ssh -A $GATEWAY "ssh $SERVER \"./myscript $OPTIONS\""

ou se você estiver fazendo isso regularmente você pode brincar com o conteúdo de ~/.ssh/rc (tenha cuidado, pois se você quebrar alguma coisa talvez você não consiga fazer o login no ssh, você terá que reparar por fazendo login no console).

    
por 09.04.2016 / 08:47