
Atualmente estou trabalhando em casa e preciso me conectar a um servidor de produção. A política de segurança em vigor não permite que clientes VPN se conectem a instâncias de produção. Sendo assim, imaginei que poderia configurar o encaminhamento de agente através do servidor de desenvolvimento (que posso acessar), já que isso é permitido.
Para fazer isso, primeiro habilitei o encaminhamento de agente para o servidor de desenvolvimento:
- Eu adicionei
ForwardAgent yes
para~/.ssh/config
a entrada do servidor de desenvolvimento no meu computador - Corri
eval 'ssh-agent'
para iniciar o agente ssh - Adicionei minha chave ssh ao agente usando
ssh-add ~/.ssh/id_rsa
- Eu me conectei ao servidor de desenvolvimento usando
ssh -A <devserver>
- No servidor de desenvolvimento, tentei conectar-me ao servidor de produção usando
ssh -T me@<prodserver>
Depois disso, consegui executar comandos no servidor de produção. No entanto, nunca vejo o prompt do bash real.
Há algo que eu possa fazer para garantir que o prompt seja exibido?
Responder1
Na última etapa, execute ssh
sem a -T
opção:
-T Disable pseudo-terminal allocation.
O uso da -T
opção desativa a alocação de um TTY, o que, por sua vez, faz com que você não obtenha um shell.
mtak@rubiks:~/bla(develop)$ ssh gen1
THIS IS A PRIVATE COMPUTER SYSTEM. Unauthorized access prohibited.
You have mail.
Last login: Tue Mar 10 10:45:25 2020 from vpn-int-2.int.mtak.nl
mtak@gen1:~$ logout
Connection to gen1 closed.
mtak@rubiks:~/bla(develop)$ ssh -T gen1
THIS IS A PRIVATE COMPUTER SYSTEM. Unauthorized access prohibited.
You have mail.
date
ma mrt 16 16:12:53 CET 2020
Responder2
Tentei me conectar ao servidor de produção usando
ssh -T me@<prodserver>
Você não está recebendo uma solicitação porque está usando a -T
opçãodisse ao ssh para desabilitar o modo terminal(alocação tty).
A presença de um tty é como todos os programas determinam se estão sendo executados interativamente (ou seja, conectados ao terminal/teclado) ou se estão recebendo comandos de um arquivo ou canal. No último caso, ou seja, modo "lote", é normal que os shells desabilitem todos os prompts; ferramentas como 'ls' perdem sua formatação sofisticada e saída colorida; e assim por diante.