Как мне сохранить пароль для входа в систему для транзакций SFTP (сделанный Drupal, если это важно), оставив его отключенным для всех других аутентификаций на основе ключей SSH? В настоящее время все существующие пользователи сервера CentOS используют ключи для входа в систему, а / etc / ssh / sshd_config имеет PasswordAuthentication no
)?
Из того, что я собрал, вы хотите разрешить пароли от одних пользователей, но не от других?
.
Можно настроить блок Match
. Таким образом, ваш конфигурационный файл может выглядеть примерно так, как показано ниже.
...
PasswordAuthentication no
...
Match user drupalsftp
PasswordAuthentication yes
Поскольку вы упомянули, что эти транзакции на основе паролей происходят из drupal, возможно, вы могли бы составить белый список на основе адреса хоста? Сопоставительный адрес 127.0.0.1/32
Вы даже должны уметь комбинировать критерии, и сказать, что только конкретная учетная запись с определенного адреса может выполнять аутентификацию по паролю.
PasswordAuthentication no
...
Match user drupalsftp address 10.1.2.3/32
PasswordAuthentication yes
# also since we want only sftp
ForceCommand internal-sftp
Ссылки
SFTP - это всего лишь специфический случай сессии SSH. Логин для пароля включен по умолчанию, если у вас есть PasswordAuthentication yes
или ChallengeResponseAuthentication yes
в вашей /etc/ssh/sshd_config
. Разрешение парольной аутентификации не блокирует аутентификацию, основанную на ключах
Перейдите в файл / etc / ssh / sshd_config и измените следующую строку:
PasswordAuthentication yes
Затем перезапустите sshd:
sudo service ssh restart