Назад | Перейти на главную страницу

Как мне настроить пользователя sftp для входа с паролем на сервер EC2 ubuntu?

У меня есть сервер Ubuntu, работающий на экземпляре EC2. Для входа на этот сервер я использую файл сертификата без пароля.

Я установил и настроил vsftpd и создал пользователя (назовем его "testuser"), для которого я установил / bin / false ssh-терминал, чтобы он мог подключаться только через sftp и загружать / получать доступ к файлам в своем доме каталог.

Однако - когда я пытаюсь подключиться к серверу со своего компьютера, запускается

sftp testuser@my-ec2-server

я получил

В разрешении отказано (публичный ключ).
Соединение закрыто

сообщения, поэтому я не могу войти.

Как я могу удалить требование сертификата только для этого пользователя (то есть пользователю «ubuntu» все равно придется использовать файл сертификата для входа через ssh), чтобы обычные клиенты sftp могли подключаться, используя имя пользователя и пароль?

Спасибо.

PS Использование официального AMI Ubuntu Server 10.10 из канонической, 64-битной версии на микро-экземпляре.

Чтобы осуществить то, что вы хотите, вам нужно сделать две разные вещи.

  1. Измените конфигурацию sshd, чтобы принимать пароли

Прежде всего, я скажу, что это плохая идея, я бы предпочел сгенерировать сертификат для вашего пользователя, чем активировать пароли, тем не менее, если вы хотите это сделать, просто отредактируйте /etc/ssh/sshd_config и измените или раскомментируйте его, чтобы PasswordAuthentication yes. Как только это будет сделано, перезапустите sshd service ssh restart

  1. Разрешить пользователям просто использовать FTP с помощью sftp и не иметь оболочки

Для этого вам необходимо установить rsh (реститированная оболочка) и изменить на нее пользовательскую оболочку. chsh username

Вот пошаговое руководство, которое позволит:

  1. Доступ SFTP к / home / bob / uploads для пользователя bob
  2. Заблокируйте bob из SSH
  3. Используйте имя пользователя и пароли, а не ключи:

Сначала отредактируйте файл / etc / ssh / sshd_config:

sudo nano /etc/ssh/sshd

Прокрутите вниз и измените:

PasswordAuthentication yes

и добавьте это внизу:

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

Нажмите Ctrl-X, чтобы выйти и сохранить.

Теперь добавляем пользователя:

sudo useradd bob
sudo passwd bob

Теперь добавьте группы и отключите ssh:

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

Теперь установите разрешения:

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

Все это происходит при входе в систему как пользователь root (пользователь ec2 в AMI Amazon Linux)