Ограничение SSH только SFTP?


0

Я использую ключи SSH, чтобы разрешить вход в систему без пароля. Я хочу ограничить их только SFTP.

У меня есть следующее в моем authorized_keysфайле, который, кажется, работает:

command="internal-sftp" ssh-rsa ...

Я не могу найти способ обойти это ... но я не гений ... я действительно в безопасности?


Вы разрешаете аутентификацию по паролю вообще?
Аарон Миллер

Нет ... никто не знает пароль.
Гепард

Это не то, что я спросил. В / etc / ssh / sshd_config или его эквиваленте PasswordAuthenticationустановлено значение yesили no?
Аарон Миллер

@AaronMiller установлен в yes, но я могу установить это из authorized_keysфайла, хотя я не могу?
Гепард

1
Гораздо лучшие методы подробно описаны на SF: serverfault.com/q/354615/28549
Бен Фойгт

Ответы:


1

на самом деле, нет. Можно просто скачать файл author_keys, отредактировать его, удалив часть command = "internal-sftp" и загрузить его поверх себя, а затем ssh в коробку.


1
Да, изменение оболочки также необходимо, chroot jail также является хорошей практикой. И пересылка также может быть уязвимостью. serverfault.com/a/354618/28549
Бен Фойгт

1

Я думаю, что правильный способ настроить это будет добавить ForceCommand internal-sftpв конкретный раздел пользователя наsshd_config

Subsystem sftp internal-sftp

Match User MyUser
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    ForceCommand internal-sftp
    ChrootDirectory /home/MyUser

0

Вам также следует удалить пароль из учетной записи (независимо от того, «пароль никто не знает» ).

passwd --delete username

В остальном ваше решение кажется нормальным.


Извините, я должен был прояснить ситуацию. Это уже аккаунт без пароля.
Гепард

Учетная запись без пароля - это учетная запись, которая не требует пароля для входа в систему. Отключить пароль это другое дело. ИМЕЙТЕ В ВИДУ!
EnzoR
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.