Por que não consigo executar um comando SSH em um host remoto?

Por que não consigo executar um comando SSH em um host remoto?

Estou acessando um host remoto por meio de um jumpbox. Posso acessar facilmente o host remoto se acessá-lo por meio de um shell ssh:

ssh remoteHost

Last login: Tue Feb 16 12:56:26 2016 from xx.xxx.xx.xx

remoteHost:user:~$ ls

<shows all the stuff>

mas quando tento executar um comando através da opção de linha de comando SSH, sempre recebo:

ssh remoteHost ls

"ls" isn't allowed to be executed.

Killed by signal 1.

Posso executar com sucesso o comando ssh emalgunsanfitriões, mas não outros.

Esta é uma configuração que pode ser definida no servidor, ou seja, "permitir comandos ssh remotos" ou algo semelhante?

FWIW, eu dei uma olhadaComo habilitar o uso de comandos no host remoto usando ssh sem senha?, mas tenho certeza de que meu problema não está relacionado à citação, como a única resposta para essa pergunta parece indicar.

Atualizar:

No host remoto, tenho um arquivoauthorized_keys2 que contém algo assim:

ssh-rsa <encrypted stuff> jumpbox_user@jumpbox
ssh-rsa <encrypted stuff> jumpbox_user@mydesktop

Meu arquivo ssh/.config fica assim:

Host remoteHost
  HostName remoteHost
  User user
  ProxyCommand ssh -W %h:%p jumpbox_user@jumpbox_host
  ServerAliveInterval 60

Responder1

Tente executar sua linha ssh com a -topção e certifique-se de que seu comando remoto esteja delimitado por ' pois isso diz ao ssh para executar o comando no host remoto, tornando sua linha muito mais à prova de erros.

ssh user@remoteHost -t 'ls'

Para sua informação: a opção -t permite a alocação de pseudo-terminal que na verdade simula a abertura de um terminal SSH, a digitação do comando, a saída de STDOUT e a saída - que é exatamente o que você fez manualmente como mencionou.

De acordo com a página de manual do SSH:

-t Força a alocação de pseudoterminal. Isto pode ser usado para executar programas arbitrários baseados em tela em uma máquina remota, o que pode ser muito útil, por exemplo, ao implementar serviços de menu. Múltiplas opções -t forçam a alocação de tty, mesmo que o ssh não tenha tty local.

Referências:

Página de manual SSH

O que é alocação pseudo-TTY?

informação relacionada