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

OpenSSH в Ubuntu 10.10 (Maverick): должен ли файл ~ / .ssh / authorized_keys создаваться автоматически?

Я настраиваю аутентификацию с открытым ключом, используя это руководство: https://help.ubuntu.com/community/SSH/OpenSSH/Keys.

В документации говорится о ~/.ssh/authorized_keys файл, но нет ~/.ssh/authorized_keys файл - это мой домашний каталог.

Должен ли этот файл создаваться автоматически?

В Справочная страница Maverick sshd не указывает, создается ли файл при установке OpenSSH, или файл должен быть создан вручную.

Я просто задался вопросом, нормально ли отсутствие этого файла, прежде чем создавать его сам.

~/.ssh/authorized_keys файл для каждого пользователя. Установка Unix-программы никогда не записывает в домашние каталоги пользователей. Таким образом, по умолчанию файл не будет существовать (что имеет тот же эффект, что и пустой файл).

Если вы генерируете ключ на клиенте, на котором также работает OpenSSH, используйте ssh-copy-id [как описано] для передачи открытого ключа на сервер, используя для этого один раз ваш пароль для входа на сервер.

Если вы генерируете ключ другим способом, скопируйте id_rsa.pub файл, из которого вы сгенерировали ключ к ~/.ssh/authorized_keys на сервере (создать каталог ~/.ssh если необходимо). Убедитесь, что все три вашего домашнего каталога, ~/.ssh и ~/.ssh/authorized_keys доступны для записи только пользователю (без прав для группы или других прав записи). Если вы хотите авторизовать более одного ключа, просто объедините их в ~/.ssh/authorized_keys (так ~/.ssh/authorized_keys имеет один открытый ключ на строку).

Если вы используете что-то другое, кроме OpenSSH для генерации ключа, вам может потребоваться преобразовать открытый ключ в формат OpenSSH. Например, в PuTTY используйте «Открытый ключ для вставки в файл authorized_keys».

С этой страницы:

Закрытый ключ хранится на компьютере, с которого вы вошли в систему, а открытый ключ хранится в файле .ssh / authorized_keys на всех компьютерах, на которых вы хотите войти.

При создании ключевого файла с помощью ssh-keygen, вы получите файлы с именами id_rsa и id_rsa.pub. Первый - это ваш закрытый ключ (возможно, защищенный паролем), который всегда должен храниться в секрете. Ты клиент.

Последний - ваш открытый ключ, который может быть передан другой стороне, сервер. Сервер может разрешить использование нескольких открытых ключей. Ключевые файлы - это файлы с открытым текстом, поэтому вы можете открыть их в любом текстовом редакторе. В публичном ключевом файле всего одна строка, эту строку нужно добавить в ~/.ssh/authorized_keys файл на сервер.

Приведенные ниже частный и открытый ключи генерируются с использованием ssh-keygen -t rsa. Предыдущая команда создала файлы ~/.ssh/id_rsa и ~/.ssh/id_rsa.pub.

Файл закрытого ключа ~/.ssh/id_rsa выглядит как:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,6D5AD2DF5464E16B4E92E81D095A5E7E

NbCawtGTPOfveFHvV93uw5/veo/fAmbZEcitpNlq/rPEy8ZLo7/0MltFDUupe6dI
...23 lines omitted...
eiau+K6IAbhp84/6ewXPVJ6JbfeS9vyOqkcPaZDlQ3rvbAxU9dfTptc/ZWxVoCDg
-----END RSA PRIVATE KEY-----

Соответствующий открытый ключ ~/.ssh/id_rsa.pub выглядит как:

ssh-rsa AAAAB3NzaC1yc2EA[some chars omitted]X3aKKB6lOyr0v user@host

Первое слово либо ssh-rsa (для ключей RSA) или ssh-dss (для ключей DSA). Вторая часть (AAAAB3...r0v) - это фактические данные. user@host это просто комментарий, и его можно заменить чем угодно, например sysadmin from home.

Просто создайте его с помощью любимого редактора или touch, но убедитесь, что у него есть необходимые разрешения.

chmod 400 ~/.ssh/authorized_keys

Да, это нормально. Просто создайте его, если хотите добавить ssh-ключи.