Назад | Перейти на главную страницу

Как мне настроить ssh в Debian для использования аутентификации с открытым ключом?

Я работаю над (Debian) Dreamhost VPS, и, похоже, мне нужна только аутентификация на основе пароля: добавление моих открытых ключей RSA и DSA в ~/.ssh/authorized_keys не изменило поведение требования пароля для входа в систему.

Как настроить сервер, чтобы он мог принимать ~/.ssh/authorized_keys?

Вам нужно будет отредактировать /etc/ssh/sshd_config следующим образом:

# Both of these are probably already there, but commented
PubkeyAuthentication yes
# The next line makes sure that sshd will look in 
# $HOME/.ssh/authorized_keys for public keys
AuthorizedKeysFile      %h/.ssh/authorized_keys

Кроме того, если вы хотите отключить аутентификацию по паролю все вместе (что обычно является хорошей идеей, если вы используете пары ключей), добавьте следующее:

# Again, this rule is already there, but usually defaults to 'yes'
PasswordAuthentication no

После этого, перезапустить ssh путем выдачи /etc/init.d/sshd restart и все должно быть хорошо!

Приведенное выше предполагает, что вы уже правильно создали .ssh режиссер с надлежащие разрешения.

Это означает, что вы устанавливаете chmod 0700 к ~/.ssh.

Вот шаги: 1. Загрузите свой открытый ключ на сайт и добавьте его в файл ~ / .ssh / authorized_keys. 2. Убедитесь, что авторизованные ключи имеют атрибуты 0600 (chmod 0600 ~ / .ssh / authorized_keys) 3. Теперь попробуйте ssh, если вы используете putty, запустите конкурс и загрузите свой закрытый ключ.

Также проверьте владельца и разрешения в вашем домашнем каталоге. Вы должны владеть своим домашним каталогом, а разрешение не должно превышать 755.

Эти настройки необычны, но трудно понять, когда это произойдет.

Ключи публикации идут в "authorized_keys2", обратите внимание на 2. Как кто-то еще написал выше, вы можете настроить конфигурацию sshd для использования вашего файла "authorized_keys", если хотите.

Это также вызывало у меня проблемы на сервере, который наши системные администраторы использовали в качестве промежуточного узла. Мне было указано, что каждый пользователь должен быть создан локально, чтобы /home/user[123]/authorized_keys должен существовать и содержать ключ паба. Указанный файл необходимо указать как user1: user1.

ssh-rsa ...insert pub key string... user1@local

Создание ~ / .ssh / config локально, на ближайшем хосте, также помогает быстрее подключаться и определять полезную опцию, а именно EscapeChar ~

Это может быть необходимо, а может и нет, chmod 0600 /user1/.ssh/authorized_keys и chmod 0700 /root/.ssh/. Это не помогло мне во время моих первых попыток устранения неполадок.

Отредактируйте / etc / ssh / sshd_config и раскомментируйте:

AuthorizedKeysFile      %h/.ssh/authorized_keys