SSH'ing com alocação de força pseudo-tty não imprime meu MOTD

1

Eu sei que a opção -t em ssh aloca pseudo-tty. Estou usando -t para "pular" para um diretório diferente no login, algo assim: ssh -t my-server "cd /path/to/my/directory; bash --login" .

Por que se eu fizer login sem ele (normalmente) /etc/motd é impresso e com -t não é? Eu sei que posso cat /etc/motd antes cd , mas imaginando se há solução mais limpa e por que o WHY está acontecendo assim.

ps: Como você pode imaginar, quero que o MOTD seja colocado no login mesmo se eu usar -t .

    
por sobi3ch 22.04.2016 / 17:41

1 resposta

0

O MOTD é normalmente exibido por login , não bash , portanto, se você não executar login , não obterá MOTD. sshd provavelmente nem usa login , mas imprime motd dependendo da configuração de vários de seus sinalizadores. (como notado por Jakuje) A maneira como você está se conectando através do sshd não ativa o comportamento do moth.

Eu suspeito que tentar fazer com que as coisas funcionem do jeito que você quer irá alterar seu arquivo de perfil para fazer o MOTD quando o bash é iniciado pelo sshd. Suponho que você possa verificar se $tty está definido, mas provavelmente ainda haverá jogos para evitar que você obtenha dois MOTD em um login real.

Realmente parece um grande esforço para pouco ganho.

Ou, se você gosta

ssh -t my-server "cd /path/to/my/directory; cat /etc/motd; bash --login"

    
por 22.04.2016 / 19:50

Tags