SSHwithBASTION
De Slacam_Wiki
Acessando Máquinas Remotas Usando SSH com Bastion Host (CentOS 7)
Essa dica é para possibilitar uma máquina que esteja atrás de outra, ou seja HostA -> HostB -> HostC. Siga então os passos:
1 - Gere as chaves normalmente e coloque a sua chave pública nos HostB e HostC;
2 - Como o HostB será o gateway de passagem configure em /etc/ssh/sshd_config a entrada:
PubkeyAuthentication yes
3 - No seu HostA que será a origem certifique-se que não haja o ssh-agent rodando:
ssh-add -D ssh-agent -k
4 - Rode o Script abaixo para iniciar o agente:
SSH_ENV="$HOME/.ssh/environment" function start_agent { echo "Initialising new SSH agent..." /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" echo succeeded chmod 600 "${SSH_ENV}" . "${SSH_ENV}" > /dev/null /usr/bin/ssh-add; } # Source SSH settings, if applicable if [ -f "${SSH_ENV}" ]; then . "${SSH_ENV}" > /dev/null #ps ${SSH_AGENT_PID} doesn't work under cywgin ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { start_agent; } else start_agent; fi
5 - Carregue a sua chave privada com o comando:
you#HostA$ ssh-add ~/.ssh/id_dsa Need passphrase for /home/you/.ssh/id_dsa (you@example.com). Enter passphrase: you#HostA$
6 - Para acessa diretamente o HostC use o comando:
ssh -o ProxyCommand='ssh -W %h:%p user@HostB' user@HostC