O usuário do Chroot ssh para a pasta home resulta em Conexão recusada

1

Estou tentando dar acesso a alguém ssh para um servidor (Ubuntu 14.04) que tenho, mas quero limitá-lo à sua própria pasta pessoal. Então, eu estou tentando seguir este tutorial .

Eu criei pela primeira vez um usuário ( sudo adduser jailuser ) que tornou possível efetuar login usando jailuser. Então, ao tentar prender o usuário, adicionei o seguinte a /etc/ssh/sshd_config (e reiniciei o ssh):

Subsystem     sftp   internal-sftp
Match Group sftp
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no

Eu então criei o grupo sftp:

sudo groupadd sftp

e executou os seguintes comandos para alterar o jailuser:

sudo usermod -G sftp jailuser
sudo usermod -s /bin/false jailuser
sudo chown root:root /home/jailuser
sudo chmod 0755 /home/jailuser

O resultado é que não consigo mais entrar: ssh: connect to host xx.xxx.xx.223 port 22: Connection refused .

Como sou novato no gerenciamento de servidores, estou perdido aqui. Alguém sabe o que estou fazendo errado? Todas as dicas / truques são bem-vindos!

    
por kramer65 17.08.2014 / 10:44

2 respostas

2

Eu tive esse problema e a correção foi colocar "UsePAM yes" acima da sub-rotina "Subsystem sftp internal-sftp". Reinicie o ssh e ele funcionou bem.

    
por 16.01.2015 / 12:37
1

Não vejo nada de errado com as linhas sshd_config que você postou. Parece que há três possibilidades aqui:

  1. Nada está realmente errado, mas sshd precisa ser iniciado.
  2. sshd pode ser executado, mas não está escutando no endereço IP ou na porta correta.
  3. Algo impede que sshd seja iniciado.

Para todos os itens a seguir, você precisa ter root no host do servidor ssh.

Para (1), execute algo como "ps -fe | grep sshd" para ver se sshd está em execução ou não. Se não, tente iniciar o servidor ssh. No Ubuntu, você executaria isso:

/etc/init.d/ssh restart

Se sshd estiver em execução, vá para (2). Verifique sshd_config para as diretivas ListenAddress ou Port . Estes controlam qual endereço IP e porta o servidor escutará as conexões. Na maioria dos casos, você deixaria esses comentários comentados (para usar os valores padrão) ou os definiria como 0.0.0.0 e 22, respectivamente.

Se você tentou iniciar sshd e ele não será executado, comece verificando os arquivos de log em /var/log para todas as mensagens de sshd . Eles podem indicar o problema que está tendo. Se isso não funcionar, você pode executar sshd interativamente com a depuração:

/usr/sbin/sshd -ddd            # Listen on the default port 22
/usr/sbin/sshd -ddd -p 1022    # Listen on port 1022

sshd permanecerá conectado ao seu terminal e imprimirá várias informações de depuração. Se não puder continuar funcionando por algum motivo, deveria dizer por quê.

    
por 17.08.2014 / 17:47