Как мне сохранить пароль для входа в систему для транзакций SFTP (сделанный Drupal, если это важно), оставив его отключенным для всех других аутентификаций на основе ключа SSH? В настоящее время все существующие пользователи сервера CentOS используют ключи для входа в систему, а / etc / ssh / sshd_config имеет PasswordAuthentication no
)?
Насколько я понимаю, вы хотите разрешить пароли от одних пользователей, но не от других?
Вы можете настроить Match
блок. Итак, ваша конфигурация может выглядеть примерно так, как показано ниже.
...
PasswordAuthentication no
...
Match user drupalsftp
PasswordAuthentication yes
Поскольку вы упомянули, что эти транзакции на основе паролей происходят из drupal, возможно, вы могли бы внести в белый список на основе адреса хоста? Match address 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
Ссылки
Перейдите в файл / etc / ssh / sshd_config и измените следующую строку:
ПарольАутентификация да
Затем перезапустите sshd:
sudo service ssh перезапуск
SFTP - это просто частный случай сеанса SSH. Вход по паролю включен по умолчанию, если у вас есть PasswordAuthentication yes
или ChallengeResponseAuthentication yes
в твоем /etc/ssh/sshd_config
. Разрешение аутентификации по паролю не блокирует аутентификацию на основе ключа.