SSHwithBASTION

De Slacam_Wiki
Ir para: navegação, pesquisa

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