Suporte ao WordPress SSH SFTP Updater Pergunta: A sessão só permite conexões sftp

Um usuário perguntou ?

Olá,

Configurei a prisão chroot para permitir conexões SFTP somente shell para instalações do WordPress, um usuário por site. O seguinte é definido na configuração do daemon SSH, do qual os usuários de login fazem parte do grupo sftp:

sftp group match AllowTcpForwarding não ChrootDirectory %h PassCommand internal-sftp PasswordAuthentication sim X11Forwarding não

Esta prisão não tem nenhum arranjo especial. Funciona perfeitamente com o suporte SFTP do FileZilla e não foi projetado para ser usado como shell. Nenhum arquivo de dispositivo ou ferramentas básicas como ls, mkdir, etc. foram criados. No espírito de mantê-lo simples.

No entanto, isso falha com o plug-in SFTP. sshd reclama do seguinte quando o plugin SFTP tenta se conectar:

ssh[15870]: A sessão só permite conexões sftp [postauth]

Portanto, o SFTP não parece ser “puro”. Seria possível suportar conexões somente SFTP, sem shell?

Eu não dei ao servidor web permissões para modificar seus próprios arquivos diretamente (em nome da segurança), então a opção direta FS_METHOD não é uma opção.

Versão do plugin por readme: 0.8.0 Versão do WordPress: 4.8.3

Este tópico foi modificado 1 ano, 10 meses atrás por. Este tópico foi modificado 1 ano, 10 meses atrás por. Este tópico foi modificado 1 ano, 10 meses atrás por. Este tópico foi modificado 1 ano, 10 meses atrás por.

(@rathios)

1 ano, 10 meses atrás

Nota para os googlers que podem encontrar esta página:

O processo de atualização funciona quando “ForceCommand internal-sftp” é removido, desde que “Subsystem” seja definido como internal-sftp e não sftp-server. Por exemplo.

subsistema sftp interno-sftp -f AUTHPRIV -l INFO

Esqueci de atualizar isso em /usr/libexec/openssh/sftp-server.

Ainda não funciona com o ForeCommand internal-sftp.

Esta resposta foi modificada há 1 ano e 10 meses.

(@n4ll)

1 ano, 8 meses atrás

Prezados Razões,

Fico feliz que você tenha apontado. Parece que este plugin é feito apenas para casos de uso específicos e nem sei se funciona com OpenSSH. Depois de corrigir um erro devido à falta do plugin PHP, consegui obtê-lo sem gerar nenhum erro, MAS ele sempre solicita credenciais novamente, sem mostrar um erro. Então, guia de rede para o resgate: {"success":false,"data":{"delete":"plugin","slug":"akismet","plugin":"akismet/akismet.php","pluginName":"Akismet Anti-Spam","errorCode":"unable_to_connect_to_filesystem","errorMessage":"Private key incorrect for wp"}}

Agora gerei várias chaves, testei-as remotamente, retornei o chroot-jail e outras coisas. Eu não consegui fazê-lo funcionar até agora e até tentei com o nome de domínio, IP, localhost, 127.0.0.1 ou nome. Todos os pontos resultam em uma chave privada inválida e a última opção pode ser gerar uma usando putty.

Se você tiver alguma informação nova, eu adoraria que você a compartilhasse conosco. Pelo menos você está além de mim, pois pode realmente autenticá-lo, então como você gerou seus blocos?

Edit: Experimente com o Putty Keys agora e também não funciona, como esperado. Tudo o que temos a fazer é fazer este plugin funcionar usando senhas. Eu ainda recebo uma mensagem toda vez e tenho que digitar minha senha toda vez. Este plugin precisa de uma pequena substituição e funcionaria bem, mas nesta condição, é um aborrecimento. Pelo menos meu usuário ainda está preso agora e se necessário eu poderia mudar o plugin para que ele não peça credenciais repetidamente e use a senha armazenada dentro de um cookie ou qualquer outra coisa. O arquivo que precisa ser alterado deve ser admin-ajax.php.

Saudações o7

Esta resposta foi modificada 1 ano e 8 meses atrás por.

(@zjagust)

1 ano, 3 meses atrás

Como você definiu sua variável FTP_BASE em wp-config.php? Eu pergunto porque você definiu “ChrootDirectory %h” em seu sshd_config. Portanto, a “raiz” real de um usuário é o que você definiu como o diretório inicial do usuário (%h). Por exemplo /home/$USER.

Portanto, no seu caso, /home/%USER é na verdade “/” para usuário. Portanto, se você definiu seu FTP_BASE como algo como “/home/$USER/sitename/public_html” que é falso, deve ser apenas “/sitename/public_html”.

Isto foi útil?

0 / 0

Deixe uma resposta 0

O seu endereço de email não será publicado. Campos obrigatórios são marcados *