Я выполняю шаги здесь к SSH без пароля
Для входа в систему от userA@hostA до userB@hostB, ~/.ssh/authorized_keys
в потребностях hostB содержит открытый ключ userA@hostA.
Когда я сначала создаю .ssh/при входе в систему userB@hostB его разрешение 771 или drwxrwxr-x. Под этим состоянием разрешения я не смог к ssh от userA@hostA до userB@hostB без пароля.
Но когда я chmod 700 .ssh
на userB@hostB затем я могу SSH без пароля счастливо.
Кто-то может объяснить мне, почему путем обеспечения менее строгого разрешения SSH без пароля не может быть достигнут?
Для вашей защиты, потому что в противном случае другой пользователь в системе может добавить свой собственный ключ в ваш файл authorized_keys
и легко выдать себя за вас.
Не требуется, чтобы права доступа были 700
, они просто не должны быть доступны для записи кем-либо, кроме владельца. И он должен принадлежать вам или пользователю root.
Это будет безопасно только в том случае, если указанное выше выполняется для всего пути от корня файловой системы до файла authorized_keys
.
Некоторые дистрибутивы. по умолчанию файлы и каталоги создаются как группы, доступные для записи (только вы в группе). Но sshd
не проверяет, кто находится в группе, он просто отказывается использовать authorized_keys
, если файл или каталог доступны для записи в группе.
Я не знаю ни одного веская причина для создания группы файлов и каталогов с возможностью записи по умолчанию. Я никогда не видел проблем, вызванных изменением его на доступ только для записи владельцу.