У меня должен быть пароль для моего ключа SSH RSA?

Прежде чем я запустил в своем текущем задании (в малом бизнесе), мой офис не имел никакого брандмауэра в сети, и буквально ничто никогда не сохранялось. Теперь, когда я вошел в систему как преданный системный администратор / one-man-IT-department, я делал то, что я могу для изменения этого. После объяснения моему боссу, насколько уязвимый мы были, он позволил мне настраивать некоторые серверы резервного копирования, один из которых в его доме.

Прямо сейчас я пытаюсь получить все набор так, чтобы я мог автоматизировать ежедневные резервные копии. Я планирую использовать rsync через ssh, чтобы сделать это. Для пользы безопасности, а также для простоты автоматизации, я планировал отключить ssh вход в систему пароля и только использовать rsa ключевую проверку. Ну, если бы мне установили rsa пароль, затем я должен был бы все еще ввести пароль, и это - проблема.

Не наличие rsa пароля делают вещи значительно менее безопасными? Я - единственный человек в компании, у которого есть любой вид подсказки о такого рода вещи, таким образом, я не слишком волнуюсь по поводу кого-то звонящего терминалу на моей машине (который всегда блокируется, когда я - AFK, так или иначе), и ssh-луг в один из серверов резервного копирования и наносящий любой ущерб. Я все еще очень, очень плохо знаком с миром системного администрирования, и это - мой первый раз, делая что-либо как это, и я не хочу покидать любые дыры в установке защиты.

Рассматриваемые компьютеры здесь запускают Ubuntu 10.10, Сервер SME и OSX 10.6, если это так или иначе делает какой-либо вид различия.

71
задан 23.03.2011, 18:28

3 ответа

Как Вы знаете, преимущество, которое пароль дает Вам, состоит в том, что, если кто-то может считать Ваш закрытый ключ, они 'не могут' использовать его.

Если кто-то может получить доступ к тому закрытому ключу, необходимо принять как очевидное, что у них есть доступ (редактор)/, пошел на компромисс, любые машины настраиваются с открытым ключом. Вещи как .bash_history или .ssh/config только делают это легче, даже если Ваш .ssh/known_hosts запутывается.

Наличие пароля на Вашем ключе не является концом света, вот 3 идеи попытаться помочь Вам защитить себя немного лучше несмотря на это. (Важная персона является второй, считайте что если ничто иное),


  1. Только используйте тот же ключ через все машины и пользователей. Генерируйте каждого пользователя на каждой машине (который должен сделать такого рода вещь), ее собственная пара ключей. Это позволит Вам удержать контроль на том, что может к ssh где.

  2. При добавлении ключа к authorized_keys файлу можно заблокировать его вниз, чтобы только смочь выполнить определенную команду или использовать его только от определенного хоста.

    Посмотрите man ssh и поиск команды = и от =

    Синтаксис - что-то как:

    from="1.2.3.4",command="/path/to/executable argument" ssh-rsa key name

    т.е. вытолкайте 'rsync' там, и только 'rsync' мог назвать Ваш ключ, и только от IP-адреса 1.2.3.4. Несколько дюйм/с могут быть разделены ,. Имена хостов также поддерживаются.

  3. Другой вещью, которая приходит на ум, является директива 'AllowUser' в Вашем sshd_config

    AllowUsers

    Это ключевое слово может сопровождаться списком шаблонов имени пользователя, разделенных пробелами. Если указано, вход в систему позволяется только для имен пользователей, которые соответствуют одному из шаблонов. '*' и'?' может использоваться в качестве подстановочных знаков в шаблонах. Только имена пользователей допустимы; числовой идентификатор пользователя не распознан. По умолчанию вход в систему позволяется для всех пользователей. Если шаблон принимает форму USER@HOST затем, ПОЛЬЗОВАТЕЛЬ и ХОСТ отдельно проверяются, ограничивая логины конкретных пользователей от конкретных хостов.

    Это в основном гарантирует, что пользователь может только войти в систему от определенного местоположения. (хотя это принимает подстановочные знаки также), не собирающийся решать все Ваши проблемы, но это будет, по крайней мере, мешать другим.

89
ответ дан 07.12.2019, 08:11

Можно использовать что-то как связка ключей для создания наличия пароля менее болезненным. Это немного более безопасно, чем использование входа в систему без пароля и может использоваться в сочетании с другими ответами здесь. Ответ PriceChild был довольно хорош.

4
ответ дан 07.12.2019, 08:11

Лично я использую DSA не RSA, главным образом потому что это - то, что я всегда использовал, и я знаю, что он 'просто работает', но теория, которую я предполагаю, является тем же. Вы могли заменить dsa с rsa в ниже.

На источнике:

$ ssh-keygen -t dsa

Затем скопируйте содержание .ssh/id_dsa.pub файл в .ssh/authorized_keys в учетной записи пользователя на месте назначения.

Затем необходимо просто смочь к ssh между источником и местом назначения без паролей.

-4
ответ дан 07.12.2019, 08:11

Теги

Похожие вопросы