Pouco claro sobre o encaminhamento de SSH (agente) - Preciso copiar a chave pública em allowed_keys em todos os destinos em potencial?

2

Estou tentando implementar / testar o encaminhamento do SSH, mas a única maneira, até agora, de fazê-lo funcionar é se eu copiar manualmente a chave pública (ssh-rsa xxxx) para cada uma das máquinas para as quais quero fazer o SSH.

Suponha que eu tenha:

Minha estação de trabalho - possui Putty and Pageant e eu tenho um PPK que importo para o Pageant e também a chave pública correspondente.

CENTOS1 - possui ssh-agent em execução e sshd_config e ssh_config possui o parâmetro "Forwarding" definido como "yes"

CENTOS2 - possui ssh-agent em execução e sshd_config e ssh_config possui o parâmetro "Forwarding" definido como "yes"

Então, eu uso o Putty para conectar-me ao CENTOS1 e posso entrar no CENTOS1.

Mas, se, no CENTOS1, eu tentar "ssh myself @ CENTOS2", não consigo entrar e receber uma "Permissão negada".

Mas, se eu copiar a chave pública para as teclas_autorizadas no CENTOS2, quando estiver no CENTOS1, eu posso "me ssh @ CENTOS2" ok.

Eu pensei que, com os ssh-agents em execução no CENTOS1 e CENTOS2 e com o Pageant em minha estação de trabalho com o PPK carregado no Pageant, eu deveria poder colocar Putty no CENTOS1 e, a partir do CENTOS1, eu deveria poder SSH para o CENTOS2, sem ter que copiar manualmente a chave pública para o CENTOS1 ou para o CENTOS2?

Eu pensei que esse era o objetivo de usar o ssh-agent e o Pageant (evitando ter que copiar a chave pública para direcionar as máquinas)?

Ou o uso do ssh-agent e do Pageant serve apenas para evitar a necessidade de copiar a chave privada nas máquinas de destino?

Obrigado Jim

user555303
fonte
1
A autenticação de chave pública funciona assim: cortar um dólar em bilhões de partes, misturá-lo bem e depois dividir ao meio, uma parte seria pública e outra privada. Para ser autenticado, você precisa das duas partes, é por isso que a chave pública deve estar no (s) servidor (es) e a chave privada no seu computador ao qual você está se conectando remotamente. O trabalho do agente é armazenar em cache a senha (para não incomodá-la de inseri-la várias vezes), usada para criptografar a própria chave privada para proteger contra o uso não autorizado das pessoas no seu computador.
Alex

Respostas:

2

Eu pensei que esse era o objetivo de usar o ssh-agent e o Pageant (evitando ter que copiar a chave pública para direcionar as máquinas)?

Não. O objetivo do encaminhamento do agente não é ter que copiar a chave privada .

Como isso funcionaria mesmo sem o servidor de destino conhecer sua chave pública? Isso nunca poderia confirmar sua identidade.

Daniel B
fonte
Daniel - ok obrigado. Fiquei muito confuso ao ler muitas coisas, mas meus testes sempre pareciam chegar à mesma conclusão, então pensei em postar para perguntar, para confirmar.
User555303