Ограничение 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
leberknecht
источник
0

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

passwd --delete username

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

Мартин Прикрыл
источник
Извините, я должен был прояснить ситуацию. Это уже аккаунт без пароля.
Гепард
Учетная запись без пароля - это учетная запись, которая не требует пароля для входа в систему. Отключить пароль это другое дело. ИМЕЙТЕ В ВИДУ!
EnzoR