На сервере у меня есть только ssh auth, но для одного пользователя мне нужно добавить определенную папку и пароль на основе auth. Итак, я создал пользователя
sudo adduser myuser
затем в /etc/ssh/sshd_config
файл, который я добавил:
Match User myuser
PasswordAuthentication yes
RSAAuthentication no
PubkeyAuthentication no
Match all
PasswordAuthentication no
Затем перезапустите службу service sshd restart
Но я все равно получаю ошибку:
В доступе отказано (публичный ключ, пароль).
Система: FreeBSD 10.1-RELEASE (ОБЩИЙ)
Во-первых, пользователя нужно будет добавить в AllowUsers внизу файла. Я уверен, что вы уже создали myuser и установили пароль на машине, к которой вы пытаетесь подключиться по ssh.
AllowUsers myuser
Если его там нет, вам нужно добавить его в самый конец файла.
Избавьтесь от частей «match myuser» и «match all» и установите для параметра аутентификации пароля значение «да», а для проверки подлинности Pubkey - значение «нет», а затем перезапустите службу sshd на компьютере, к которому вы пытаетесь подключиться.
Вам нужно сначала создать, а затем скопировать открытый ключ в папку с помощью команды ssh-copy-id на компьютере, с которого вы подключаетесь. Войдите в компьютер, с которого вы пытаетесь подключиться, как «myuser», а затем выполните следующую команду:
ssh-keygen -t rsa
Он попросит вас ввести и подтвердить парольную фразу для ключа, а затем он сообщит вам, где он был сохранен, покажет отпечаток пальца, а затем случайное художественное изображение.
Следующее скопирует открытый ключ на компьютер, к которому вы пытаетесь подключиться. Вам будет предложено ввести пароль myuser.
ssh-copy-id -i ~/.ssh/id_rsa.pub myuser@host
Если вы используете порт, отличный от 22, используйте следующее:
ssh-copy-id -p #portnumber -i ~/.ssh/id_rsa.pub myuser@host
После того, как вы это сделаете, вы можете установить для аутентификации по паролю значение нет и для аутентификации Pubkey значение да на компьютере, к которому вы пытаетесь подключиться, и еще раз перезапустить службу ssh. Попробуйте подключиться как myuser, и он должен запросить у вас парольную фразу, которую вы создали, и подключиться с использованием аутентификации pubkey.