
Estou tentando dar a alguém acesso ssh a um servidor (Ubuntu 14.04) que possuo, mas quero limitá-lo à sua própria pasta pessoal. Então estou tentando seguireste tutorial.
Primeiro criei um usuário ( sudo adduser jailuser
) que possibilitou o login usando jailuser. Em seguida, tentando prender o usuário, adicionei o seguinte /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 executei 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 fazer login: ssh: connect to host xx.xxx.xx.223 port 22: Connection refused
.
Como sou meio novato em gerenciamento de servidores, estou perdido aqui. Alguém sabe o que estou fazendo de errado? Todas as dicas/truques são bem-vindos!
Responder1
Eu tive esse problema e a correção foi colocar "UsePAM yes" acima da sub-rotina "Subsystem sftp internal-sftp". Reinicie o ssh e funcionou perfeitamente.
Responder2
Não vejo nada obviamente errado com as sshd_config
linhas que você postou. Parece que existem três possibilidades aqui:
- Nada está realmente errado, mas
sshd
precisa ser iniciado. sshd
é capaz de ser executado, mas não está escutando no endereço IP ou na porta correta.- Algo está impedindo
sshd
de iniciar.
Para todos os itens a seguir, você teria que estar root
no host do servidor ssh.
Para (1), execute algo como "ps -fe | grep sshd" para ver se sshd
está rodando ou não. Caso contrário, tente iniciar o servidor ssh. No Ubuntu, você executaria isto:
/etc/init.d/ssh restart
Se sshd
estiver em execução, vá para (2). Verifique sshd_config
oOuvirEndereçoouPortadiretivas. Eles controlam em qual endereço IP e porta o servidor escutará as conexões. Na maioria dos casos, você os deixaria 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 foi executado, comece verificando os arquivos de log em /var/log
busca de mensagens do sshd
. Eles podem indicar qual problema está ocorrendo. Se isso não der certo, você pode executar sshd
interativamente com 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á um monte de informações de depuração. Se não puder continuar funcionando por algum motivo, ele deverá lhe dizer o porquê.