[apenas para o registro - no momento em que este artigo foi escrito, o problema foi corrigido, esperamos que]
Com openssh
, qualquer comando executado por sshd
é executado através do seu shell de login com a opção -c
:
- comando passado na linha de comando
ssh
(por exemplo,ssh user@host command
) - comando configurado no arquivo
.authorized_keys
(por exemplo,command="..." ssh-rsa AAAA...
) - comando especificado pela opção
ForceCommand
emsshd_config
- a execução do script
~/.ssh/rc
(via/bin/sh ~/.ssh/rc
) - até mesmo os comandos
scp
locais para um servidor executados em resposta a um controle remotoscp
Portanto, se seu shell de login for falso ( /bin/false
ou nologin
) ou estiver quebrado, não será possível executar nada remotamente com ssh
. É também por isso que nenhuma alternativa é possível.
No entanto, ainda é possível corrigir coisas com sftp
.