Como usar o arquivo de soquete para acessar o servidor se o encaminhamento do agente SSH estiver habilitado

Como usar o arquivo de soquete para acessar o servidor se o encaminhamento do agente SSH estiver habilitado

Eu tenho host bastião. Eu me conecto ao host bastião usando nome de usuário/senha. E eu tenho uma chave privada para o servidor de destino. Fluxo:

Local Machine -> Bastion -> Destination

Eu sei que é perigoso usarEncaminhamento de agenteporque alguém pode ler meuarquivo de soquete(Se eles tiverem acesso root ao bastion host) enquanto meusessão está abertae acessar o servidor de destino - então devo usarComando Proxy!

Agora estou apenastestando como acessar o servidor de destinosem chave privadase eu tiveracesso ao servidor bastião- quão perigoso é o encaminhamento do agente.

Host bast
     Hostname X.X.X.X
     ForwardAgent yes
     User bastion

Questões:

  • Vi que há informações sobre o agente ativo no seguinte local no servidor bastião: Ex: /tmp/ssh-{nome}/agent.[PID]. Tenho acesso root, mas não consigo ler este arquivo. Eu acho que sóo ID do processo é suficientepara este arquivo,não é?

  • se o encaminhamento de agente estiver habilitado, onde posso encontrar o arquivo de soquete? Eu tento encontrar em/proc/pid/fd/local, onde vi vários arquivos de soquete.

  • como posso acessar o servidor de destino usando o arquivo de soquete? (Como acessar o servidor de destino através do ssh usando o arquivo socket)

Ele tentou encontrar arquivos de soquete aqui:

 /proc/PID/fd/

E então tente este comando para cada soquete 3,4,5,9,11:

ssh -p 2072  -o "ProxyCommand socat - UNIX-CLIENT:/proc/PID/fd/11" app@[DESTINATION_HOST_URL] 

Resultado:

2018/08/26 01:53:31 socat[13552] E connect(5, AF=1 "/proc/13510/fd/11", 19): Connection refused
ssh_exchange_identification: Connection closed by remote host

insira a descrição da imagem aqui

Registro:

OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug1: Executing proxy command: exec socat - UNIX-CLIENT:/proc/14003/fd/11
debug1: permanently_set_uid: 0/0
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: permanently_drop_suid: 0
2018/08/26 03:10:17 socat[14073] E connect(5, AF=1 "/proc/14003/fd/11", 19): Connection refused
ssh_exchange_identification: Connection closed by remote host

Responder1

Acabei de alterar o valor de SSH_AUTH_SOCKentão e ssh-add -lcarreguei uma chave.

Resumindo: é perigoso usar o encaminhamento de agente porque se você tiver acesso root ao host bastião - você pode roubar a chave, toda a sessão está aberta. Você só precisa mudar SSH_AUTH_SOCKe pronto!

informação relacionada