sftp
e ssh
conectam-se ao mesmo sshd
. Se você puder conectar com um, você pode com o outro. A diferença é que o programa sshd
invoca, sftp-server (8) ou seu shell de login.
Eu suspeito que seu shell de login não esteja instalado ou não seja permitido na máquina remota. solicitação de shell com falha soa muito como execvp(shell, args)
retornou um erro.
Para testar, tente invocar algum outro executável conhecido e seu shell explicitamente,
$ ssh remote /bin/date
$ ssh remote /usr/bin/bash # or whatever
Se um funcionar e o outro falhar, você isolou o seu problema.