Como o OpenSSH determina qual binário do sftp-server está vinculado ao sftp interno?

1

Eu encontrei um problema estranho sobre a configuração do servidor SFTP pelo OpenSSH no Ubuntu 14.04.

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

Essas duas linhas são usadas no arquivo /etc/ssh/sshd_config para configurar o servidor SFTP, mas não importa qual linha eu use, /var/log/auth.log reportará o erro da seguinte forma:

Nov 20 16:14:20 <user> sshd[34237]: Accepted password for <user> from 10.1.2.56 port 55028 ssh2
Nov 20 16:14:20 <user> sshd[34248]: subsystem request for sftp
Nov 20 16:14:20 <user> sshd[34248]: error: subsystem: cannot stat /usr/libexec/sftp-server: No such file or directory
Nov 20 16:14:20 <user> sshd[34248]: subsystem request for sftp failed, subsystem not found

Quando executo o comando locate para descobrir qual binário do servidor sftp está localizado, esta é a saída:

$ locate sftp-server
/usr/lib/sftp-server
/usr/lib/openssh/sftp-server
/usr/share/doc/openssh-sftp-server
/usr/share/man/man8/sftp-server.8.gz
/var/lib/dpkg/info/openssh-sftp-server.list
/var/lib/dpkg/info/openssh-sftp-server.md5sums

Não estou perguntando como corrigir esse problema. O que eu estou curioso é como o sshd determina qual binário do sftp-server deve ser usado para o subsistema interno-sftp e por que isso é diferente da saída do comando locate?

localizar informa que deve ser /usr/lib/openssh/sftp-server ou /usr/lib/sftp-server , mas o sshd sempre tenta encontrar /usr/libexec/sftp-server .

Alguém poderia fornecer alguma sugestão aqui? Qualquer dica é apreciada.

    
por blackpiglet 20.11.2017 / 12:13

1 resposta

0

internal-sftp é uma palavra-chave que faz com que o OpenSSH sshd use um servidor SFTP incluído (ligado) no binário sshd .

Não se refere a nenhum binário externo.

Portanto, se você usar internal-sftp , o sshd não deverá procurar% binário sftp-server . O que sugere que seu sshd_config não está sendo usado de fato.

    
por 20.11.2017 / 12:32