![Por que não consigo executar um comando SSH em um host remoto?](https://rvso.com/image/83688/Por%20que%20n%C3%A3o%20consigo%20executar%20um%20comando%20SSH%20em%20um%20host%20remoto%3F.png)
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 -t
opçã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: