Como eu configuro um usuário do sftp para fazer login com uma senha em um servidor EC2 do Ubuntu?

13

Eu tenho um servidor Ubuntu em execução em uma instância do EC2. Para fazer login nesse servidor, eu uso um arquivo de certificado sem qualquer senha.

Eu instalei e configurei o vsftpd e criei um usuário (vamos chamá-lo de "testuser") para o qual eu configurei um terminal / bin / false ssh para que ele só possa se conectar via arquivos sftp e upload / access em seu diretório home.

No entanto - quando tento me conectar ao servidor pelo computador, executando

sftp testuser@my-ec2-server

Eu obtenho

Permission denied (publickey).
Connection closed

mensagens para que eu não possa fazer login.

Como posso remover o requisito de certificado apenas para este usuário (ou seja, o usuário "ubuntu" ainda terá que usar o arquivo de certificado para fazer login via ssh), assim os clientes sftp normais poderão se conectar usando um nome de usuário e um senha?

Obrigado.

PS Usando o Ubuntu Server 10.10 AMI oficial do canonical, 64bit em uma micro instância.

    
por Doron 05.02.2011 / 16:03

2 respostas

10

Para realizar o que você deseja, você precisa fazer duas coisas diferentes

  1. Alterar a configuração do sshd para aceitar senhas

Em primeiro lugar, direi que é uma má idéia fazer isso, eu prefiro gerar um certificado para seu usuário do que ativar senhas, no entanto, se você quiser, basta editar /etc/ssh/sshd_config e alterar ou descomentar mostra PasswordAuthentication yes . Feito isso, reinicie o sshd service ssh restart

  1. Permitir que os usuários façam FTP usando o sftp e não tenham shell

Para confirmar que você precisa instalar o rsh (shell restritivo) e alterar o shell do usuário para ele chsh username

    
por 05.02.2011 / 17:29
-1

Este é um guia passo a passo para permitir:

  1. Acesso SFTP a / home / bob / uploads para o usuário bob
  2. Bloqueio do SSH
  3. Use nome de usuário / senhas em vez de chaves:

Primeiro, edite seu arquivo / etc / ssh / sshd_config:

sudo nano /etc/ssh/sshd

Desloque-se para baixo e modifique:

PasswordAuthentication yes

e adicione isso na parte inferior:

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

Pressione Ctrl-X para sair e salvar.

Agora adicione o usuário:

sudo useradd bob
sudo passwd bob

Agora adicione os grupos e desative ssh:

sudo groupadd sftpusers
sudo usermod  -g sftpusers bob
sudo usermod -s /usr/bin/rssh bob
sudo usermod -d /home/bob bob

Agora defina as permissões:

sudo chown root:root /home/bob/
sudo chmod 755 /home/bob/
sudo mkdir /home/bob/uploads
sudo chown bob /home/bob/uploads

sudo service sshd restart

Tudo isso enquanto estiver logado como usuário root (usuário ec2 em AMIs do Amazon Linux)

    
por 26.07.2016 / 01:39