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.
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!
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.
Não vejo nada de errado com as linhas sshd_config
que você postou. Parece que há três possibilidades aqui:
sshd
precisa ser iniciado. sshd
pode ser executado, mas não está escutando no endereço IP ou na porta correta. 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ê.
Tags ssh chroot linux ubuntu chroot-jail