ProxyCommand com sudo

5

Eu estou tentando configurar o SSH para que eu possa logar facilmente em um servidor acessível apenas através de um sudo para um servidor intermediário.

Na linha de comando, fazer login é da seguinte forma:

sudo -u admin ssh destination.server.com

Isso funciona sem problemas - é justo. No entanto, as variantes a seguir não funcionam em um ProxyCommand:

ProxyCommand sudo -u admin ssh destination.server.com

O pseudo-terminal não será alocado porque o stdin não é um terminal.

ProxyCommand sudo -u admin ssh -t -t destination.server.com

tcgetattr: argumento inválido

Esta última variante parece realmente trocar informações com o servidor de destino, mas depois trava:

OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /home/me/.ssh/config
debug1: Applying options for destination
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Executing proxy command: exec sudo -u admin ssh -t -t destination.server.com
debug1: identity file ...
debug1: identity file ...
debug1: identity file ...
debug1: loaded 3 keys
tcgetattr: Invalid argument
debug1: ssh_exchange_identification: Last login: Fri Jan  4 22:48:26 2013 from intermediate.server.com

Tenho a sensação de que algo está faltando na interação do sudo / ssh dentro de um ProxyCommand, mas não consegui descobrir isso.

    
por brool 05.01.2013 / 00:01

1 resposta

-1

Se você deseja facilitar a digitação:

alias dest_on_server='sudo -u admin ssh destination.server.com'

então dest_on_server leva você até lá. Claro, substitua dest_on_server com qualquer nome curto que você queira.

A próxima alternativa é o ssh a longo prazo e adicionar sua própria chave pública no arquivo $HOME/.ssh/authorized_keys . Anote o ID do usuário e, em seguida, ssh [email protected] .

    
por 22.09.2016 / 01:45

Tags