Estou tentando usar o chroot para configurar um usuário que pode fazer login via ssh e limitar o acesso ao /var/www
diretório. O servidor está na AWS executando o Amazon Linux de 64 bits, openssh instalado. Eu usei o ssh-keygen para gerar as chaves.
Antes de editar o sshd_config
arquivo, consigo fazer login com o nome de usuário e a chave privada, o usuário inicia no /home/my-username
diretório e, portanto, a chave é válida.
Eu modifiquei o sshd_config
arquivo da seguinte maneira:
Subsystem sftp internal-sftp
Match User my-username
ChrootDirectory /var/www
ForceCommand internal-sftp
AllowTcpForwarding no
PermitTunnel no
X11Forwarding no
Então eu reiniciei o sshd.
O ChrootDirectory /var/www
arquivo pertence à raiz: raiz, sem grupos com privilégios de gravação até aquele ponto na árvore - instalação padrão do Apache.
Quando eu entro com meu nome de usuário e a chave, a sessão é desconectada imediatamente. Eu verifiquei /var/log/secure
e encontrei esta entrada:
Nov 3 19:53:51 ip-xxx.xxx.xxx.xxx sshd[2945]: Accepted publickey for my-username from xxx.xxx.xxx.xxx port 61821 ssh2
Nov 3 19:53:51 ip-xxx.xxx.xxx.xxx sshd[2945]: pam_unix(sshd:session): session opened for user my-username by (uid=0)
Nov 3 19:53:51 ip-xxx.xxx.xxx.xxx sshd[2945]: pam_unix(sshd:session): session closed for user my-username
Eu li vários tópicos em muitos fóruns e vejo soluções diferentes - algumas das quais tentei sem sucesso. Eu gostaria de manter isso o mais simples possível. O objetivo é criar uma conta de usuário para um desenvolvedor que só precisa fazer upload de arquivos para o servidor da Web usando o WinSCP, no caso padrão para /var/www/html
.
Encontrei este tópico - o usuário é desconectado instantaneamente após a conexão bem-sucedida em um SSH com chroot - mas não tenho certeza se ele está diretamente relacionado ao meu problema.
Eu estou pensando que isso pode ter algo a ver com a minha configuração PAM. Novamente, essa é praticamente uma instalação padrão.
Agradecemos antecipadamente por qualquer orientação que você possa fornecer.