Por que o ssh aloca um tty no lado do servidor?

0

Basicamente, quando você executa um programa interativo no servidor, é necessário usar ssh -t em vez de ssh . Por exemplo:

  • Isso funciona: ssh -t user@server top .

  • Isso não funciona: ssh user@server top .

A pergunta é: Por que o ssh precisa de um tty do lado do servidor para tais programas? É possível canalizar diretamente fluxos de dados entre o programa do servidor e o lado do cliente tty?

Para adicionar alguns detalhes, sabemos que o tty pode multiplexar stdout e stderr em um único fluxo. Isso significa que, se você executar ssh -t , no lado do cliente, não será possível diferenciar stdout e stderr e canalizá-los separadamente. Portanto, eu acho que um lado do servidor tty entre quebra algum tipo de transparência. Seria bom se o ssh tornasse os programas do lado do servidor exatamente a mesma experiência como se esses programas fossem locais.

    
por Cyker 30.07.2018 / 01:06

0 respostas

Tags