web-dev-qa-db-fra.com

Comment configurer un utilisateur SFTP pour vous connecter avec un mot de passe sur un serveur EC2 Ubuntu?

J'ai un serveur Ubuntu en cours d'exécution sur une instance EC2. Pour vous connecter à ce serveur, j'utilise un fichier de certificat sans aucun mot de passe.

J'ai installé et configuré VSFTPD et créé un utilisateur (appelons-le "Testuffer") pour lequel j'ai défini un terminal A/Bin/FalSH SSH, de sorte qu'il ne pourra être connecté via SFTP et de téléchargement/d'accès à sa maison annuaire.

Cependant, lorsque j'essaie de vous connecter au serveur de mon ordinateur, en cours d'exécution

sftp testuser@my-ec2-server

Je reçois

Autorisation refusée (PublicationKey).
Connexion fermée

messages donc je ne peux pas vous connecter.

Comment puis-je supprimer l'exigence de certificat pour cet utilisateur uniquement (ce qui signifie que l'utilisateur "Ubuntu" devra toujours utiliser le fichier de certificat pour vous connecter via SSH), afin que les clients SFTP normaux puissent se connecter à l'aide d'un nom d'utilisateur et d'un mot de passe?

Merci.

PS Utilisation du serveur Ubuntu 10.10 AMI officiel de Canonical, 64 bits sur une micro-instance.

14
Doron

Afin d'accomplir ce que vous souhaitez, vous devez faire deux choses différentes

  1. Changer SSHD config pour accepter les mots de passe

Je dirai tout d'abord que c'est une mauvaise idée de le faire, je préférerais générer un certificat pour votre utilisateur que d'activer les mots de passe, néanmoins si vous voulez le faire, il suffit d'éditer /etc/ssh/sshd_config Et de les modifier ou de les décroîtres montre PasswordAuthentication yes. Une fois que cela se fait redémarrer SSHD service ssh restart

  1. Laissez les utilisateurs que FTP à utiliser SFTP et ne pas avoir de shell

Afin de réactiver que vous devez installer RSH (shell restreint) et modifier l'enveloppe de l'utilisateur à celui-ci chsh username

10
lynxman

Voici un guide étape par étape pour permettre:

  1. SFTP Access to/home/Bob/Uploads pour utilisateur Bob
  2. LOCK BOB DE SSH
  3. Utilisez Nom d'utilisateur/Mots de passe plutôt que sur les clés:

Tout d'abord, modifiez votre fichier/etc/ssh/sshd_config:

Sudo nano /etc/ssh/sshd

Faites défiler et modifier:

PasswordAuthentication yes

et ajoutez ceci en bas:

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

Appuyez sur Ctrl-X pour quitter et sauvegarder.

Maintenant, ajoutez l'utilisateur:

Sudo useradd bob
Sudo passwd bob

Ajoutez maintenant les groupes et désactivez ssh:

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

Maintenant défini les autorisations:

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

Tout cela est connecté en tant qu'utilisateur racine (utilisateur EC2 sur Amazon Linux AMIS)

0
Rob Mulder