SSH via next hop, o usuário não tem shell no próximo hop

0

Eu tenho máquinas A, B e C.

O usuário está na Máquina A e deseja ssh para a Máquina C via Máquina B. O usuário tem invólucros na Máquina A e C, mas / usr / sbin / nologin na Máquina B. É possível ssh para a Máquina C via B?

O seguinte resultado resulta em.

ssh -t B ssh C
This account is currently not available.

Se eu ssh para Machine C com um usuário com shell em B, o comando funciona.

    
por pdns 08.05.2018 / 07:05

1 resposta

0

Depois de ler o link do comentário do patrix, eu posso dizer que ainda é possível, se o ssh não tentar executar o shell. Um recurso recente do openssh 7.3 é chamado ProxyJump (e é apenas um built-in e otimizado (usando tubos) atalho para um pouco mais de ProxyCommand ). Esse recurso funciona apenas no nível do túnel e nunca executa o shell no host intermediário.

Portanto, se em B o login da conta do usuário estiver desabilitado por um nologin shell, mas a autenticação ainda estiver funcionando, e não houver configuração ssh impedindo o encaminhamento (por exemplo: AllowTcpForwarding não está definido apenas para remote ou no , mas pelo menos em local ou yes ), o comando de trabalho é simplesmente:

ssh -J B C

Em versões ssh antigas e sem configuração, você poderia fazer o mesmo com algo como:

ssh -f -N -L 2222:C:22 B
ssh -p 2222 localhost

O ponto chave é este:

-N Do not execute a remote command. This is useful for just for‐
warding ports.

    
por 13.05.2018 / 00:59

Tags