• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

 

Как настроить SSH-ключи Raspberry Pi

 

Использование ключей SSH для аутентификации - отличный способ защитить Raspberry Pi, поскольку только тот, у кого есть закрытый ключ SSH, сможет пройти аутентификацию в вашей системе. Это работает путем создания пары ключей SSH, вы сохраните закрытый ключ SSH, но открытый ключ перейдет в операционную систему Raspberry Pi. Эти ключи SSH действуют как средство идентификации вас на сервере SSH с использованием криптографии с открытым ключом и аутентификации типа запрос-ответ. Если вы цените свою безопасность, вам следует настроить SSH-ключи, они предлагают несколько преимуществ безопасности по сравнению с аутентификацией по паролю. Во-первых, злоумышленнику намного сложнее перехватить его, а также гораздо сложнее подобрать грубую силу. Стандартный ключ SSH обычно имеет длину 2048 символов по сравнению с паролем, длина которого не превышает 32 символов.

Создание ключей SSH в Windows

Чтобы сгенерировать ключи SSH в операционной системе на базе Windows, нам придется полагаться на программное обеспечение под названием PuTTY.

Вы можете скачать PuTTY с их веб-сайта . Убедитесь, что вы получили полную версию пакета, поскольку он включает в себя программное обеспечение, необходимое для создания ключей SSH для вашего Raspberry Pi.

1. После того, как вы загрузили и установили PuTTY на свой компьютер, откройте программу, которая была установлена ​​вместе с ним, под названием PuTTYgen.

2. Открыв PuTTYgen на вашем компьютере, нажмите кнопку «Создать», как показано на изображении ниже.

Нажатие этой кнопки сгенерирует открытый и закрытый SSH-ключи, которые мы будем использовать для установления SSH-подключения к нашему устройству, в нашем случае это будет Raspberry Pi.

Ключи SSH для Raspberry Pi PuttyGen

3. Как только PuTTYgen начнет генерировать ключи SSH, он попросит вас переместить указатель мыши в пространстве, как показано на изображении ниже.Таким образом, он помогает гарантировать, что генерируемый им ключ SSH должен быть действительно уникальным и что кому-то будет сложно быстро сгенерировать такой же ключ.

Ключи SSH для Raspberry Pi Ключ генерации PuttyGen 

4. Теперь, когда ключи SSH сгенерированы, вам нужно сделать еще несколько вещей.

Первый ( 1. ) - установить имя для этого SSH-ключа, сделать его чем-то запоминающимся, чтобы вы знали, какой SSH-ключ требуется при подключении. Во-вторых ( 2. ) вы должны установить ключ доступа, это гарантирует, что даже если кому-то удалось украсть ваш закрытый ключ SSH, им все равно потребуется ввести пароль. Этот ключ доступа действует как вторая линия защиты. Если вы предпочитаете вообще не вводить пароль, вы можете пропустить этот шаг и оставить два поля пустыми. Однако мы не рекомендуем этого делать, если вы цените свою безопасность. В-третьих ( 3. ) нам нужно сохранить открытый ключ и закрытый ключ в безопасном месте на компьютере. Запишите место, в котором вы сохраняете оба этих файла, так как они понадобятся вам для подключения к Raspberry Pi. Кроме того, убедитесь, что вы завершили файлы в .ppk, чтобы PuTTY мог их забрать. Наконец ( 4. ) скопируйте открытый ключ SSH, указанный в текстовом поле, показанном на изображении ниже. Вы можете быстро выбрать весь текст, нажав на поле и нажав CTRL + A , а затем CTRL + C . Вскоре нам понадобится этот текст, чтобы добавить в файл авторизованных ключей SSH нашей системы Linux. Без этого система не сможет увидеть наш закрытый ключ в качестве правильного метода аутентификации.

 

Файл, созданный с помощью PuttyGen для Raspberry Pi SSH Keys

 

5. Следующие шаги этого руководства проведут вас через процесс копирования открытого ключа SSH на ваше устройство Linux. В нашем случае мы будем использовать Raspberry Pi с операционной системой Raspbian. Теперь вы можете перейти к разделу «Копирование открытых ключей вручную», чтобы продолжить изучение этого руководства по SSH-ключам Raspberry Pi.

 Генерация ключей SSH в системах на базе Linux

1. Генерация ключей SSH в системе Linux немного проще, поскольку инструменты SSH для этого обычно включены в основную операционную систему. Это означает, что нам не нужно устанавливать никаких дополнительных пакетов. Чтобы сгенерировать ключи SSH, откройте сеанс терминала на вашем устройстве Linux, введите следующую команду.

ssh-keygen

2. С помощью инструмента SSH-кейген сейчас работает у вас будет первым предложено ввести файл, в котором для сохранения ключа. Для этого урока просто нажмите Enter, чтобы оставить это значение по умолчанию. Поскольку мы делаем это в нашей установке Raspberry Pi Raspbian, этот каталог по умолчанию находился в /home/pi/.ssh/id_rsa .

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

4. Теперь у вас есть выбор: скопировать открытый ключ SSH с помощью инструмента ssh-copy-id или вручную скопировать сам ключ. Если вы хотите скопировать ключ вручную, выполните шаги 5 и 6 , в противном случае перейдите к следующему разделу « Копирование открытого ключа с помощью инструментов SSH ».

5. Теперь должен быть сгенерирован ключ SSH, чтобы мы могли получить содержимое файла с открытым ключом, нам понадобится содержимое файла для настройки аутентификации на устройстве, на котором мы хотим использовать ключи SSH для аутентификации. Чтобы получить содержимое открытого ключа, вы можете использовать следующую команду на своем устройстве на базе Linux.

cat ~/.ssh/id_rsa.pub

6. Теперь, когда содержимое открытого ключа под рукой, мы можем перейти к следующему этапу фактического добавления SSH-ключа в файл authorized_keys . Теперь перейдите к разделу «Копирование открытых ключей вручную», чтобы узнать, как использовать содержимое открытых ключей, чтобы позволить частному ключу действовать как ключ авторизации.

 Копирование открытого ключа с помощью инструментов SSH

1. На вашем устройстве Linux (в нашем случае это одна из наших Raspberry Pis) выполните следующую команду. Убедитесь, что вы заменили IP_ADDRESS на IP-адрес удаленного компьютера, на который вы хотите скопировать ключи. Обратите внимание, что вам будет предложено войти в систему с вашим именем пользователя и паролем для этого удаленного компьютера, поскольку они нужны инструменту для копирования вашего открытого ключа.

ssh-copy-id -i ~/.ssh/id_rsa IP_ADDRESS

После этого этот инструмент автоматически добавит ваш открытый ключ в файл authorized_keys на удаленном компьютере.

 Копирование открытых ключей вручную

1.Вернувшись к Raspberry Pi, нам нужно использовать несколько команд для настройки нашего файла authorized_keys . Это файл, который демон SSH будет проверять, когда для аутентификации используется закрытый ключ. Для начала создадим папку, в которой будет находиться наш файл authorized_keys . Для этого мы будем использовать команду install с несколькими параметрами для установки правильных разрешений. Выполните следующую команду на своем Raspberry Pi.

install -d -m 700 ~/.ssh

2.Создав папку, давайте продолжим и поместим наш открытый ключ в файл authorized_keys . Для этого выполните следующую команду, чтобы начать его редактирование.

nano ~/.ssh/authorized_keys

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

4. После того, как вы введете свой открытый SSH-ключ в файл authorized_keys , вы можете сохранить его и выйти из файла, нажав Ctrl + X, затем Y и, наконец, Enter .

5. Теперь, когда файл сохранен, нам нужно убедиться, что у него правильные разрешения. Для этого нам нужно выполнить следующие команды. Эти команды назначат правильные разрешения для файла, чтобы он мог быть прочитан SSH при попытке входа в систему. Если вы не используете пользователя « pi » по умолчанию в Raspbian, убедитесь, что вы заменили текст « pi » в следующей команде именем пользователя, которого вы хотите использовать для аутентификации.

sudo chmod 644 ~/.ssh/authorized_keys

sudo chown pi:pi ~/.ssh/authorized_keys

6.Теперь, когда закрытый ключ SSH сохранен и разрешения установлены правильно, мы можем перейти к входу в систему. Мы сделаем это до того, как отключим аутентификацию по паролю, чтобы не блокировать себя в Raspberry Pi. В нашем руководстве по аутентификации с помощью ключа SSH мы покажем вам, как подключиться к Raspberry Pi с помощью вашего закрытого ключа и PuTTY. Подключение с использованием вашего закрытого ключа в Linux

1. Использовать закрытый ключ очень просто на устройстве Linux, на котором вы изначально сгенерировали ключ.

Инструмент SSH по умолчанию в большинстве систем на базе Linux предназначен для автоматического использования закрытого ключа при попытке установить соединение. Пока вы используете компьютер, который использовали для генерации закрытого ключа, вы можете использовать команду SSH, как показано ниже. Система автоматически попытается использовать закрытый ключ, который мы создали ранее, для установления соединения. Благодаря копированию открытого ключа в файл authorized_keys удаленного хоста он сможет распознать наш входящий закрытый ключ и принять наше соединение.

ssh IP_ADDRESS

2. Если вы установите парольную фразу, вам будет предложено ввести ее, прежде чем вы сможете продолжить, это необходимо для разблокировки вашего закрытого ключа. После ввода парольной фразы вы должны войти на удаленный компьютер. Если вам не нравится вводить кодовую фразу каждый раз, не волнуйтесь, мы рассмотрим, как ее кэшировать позже в руководстве. Подключение к Raspberry Pi с помощью закрытого ключа с помощью PuTTY

1. В этом разделе руководства по SSH-ключам Raspberry Pi мы покажем вам, как использовать ваш закрытый ключ с PuTTY для подключения к Raspberry Pi. Подключение с использованием закрытого ключа - относительно простой процесс. Начните с открытия PuTTY на своем компьютере и ввода IP-адреса Raspberry Pi ( 1. ), затем нажмите « Auth » в разделе « SSH » ( 2. )

Ключи SSH Raspberry Pi PuTTY Изменить аутентификацию

2. Далее вам нужно нажать кнопку «Обзор». Эта кнопка позволит вам найти и выбрать закрытый ключ, который мы сохранили ранее в руководстве. Выбор этого файла позволит PuTTY попробовать использовать его для аутентификации. После того, как вы выбрали закрытый ключ в браузере, вам следует нажать кнопку «Открыть», чтобы начать соединение.

Raspberry Pi SSH-ключи PuTTY Set Private Key

3. При подключении вас сначала попросят ввести имя пользователя. Убедитесь, что это имя пользователя, которое принадлежит закрытому ключу, который вы используете, в противном случае аутентификация не удастся. После ввода правильного имени пользователя вам будет предложено ввести кодовую фразу для вашего закрытого ключа, если вы установили ее ранее. После ввода правильной парольной фразы вы войдете в сеанс SSH. Теперь вы можете полностью отключить аутентификацию по паролю.

Ключи SSH Raspberry Pi вошли в систему с помощью PuTTY

Удаление аутентификации по паролю

1. Чтобы отключить аутентификацию по паролю, нам нужно изменить файл sshd_config . В этом файле мы можем изменить поведение демона SSH. Чтобы изменить этот файл, выполните следующую команду на своем Raspberry Pi.

sudo nano /etc/ssh/sshd_config

2. В этом файле нам нужно найти следующую строку и изменить « да » на « нет ». Это простое изменение полностью отключит возможность входа в Raspberry Pi с помощью только пароля. С этого момента вам потребуется закрытый ключ для доступа к системе через SSH. Если у вас возникли проблемы с поиском строки, вы можете использовать CTRL + W, чтобы быстро ее найти. (Если вы используете редактор nano)

Находим

#PasswordAuthentication yes

Заменим

PasswordAuthentication no

3.Теперь вы можете сохранить и выйти из файла, нажав CTRL + X, затем Y и, наконец, ENTER .

4. С изменениями, внесенными в файл sshd_config , мы должны перезапустить Raspberry Pi, чтобы гарантировать загрузку изменений. Не забудьте убедиться, что ваш закрытый ключ позволяет вам подключаться к Raspberry Pi, так как пароли не будут работать после перезапуска. Когда вас все устраивает, используйте следующую команду на Raspberry Pi, чтобы перезапустить его.

sudo reboot

5. Если все работает правильно, вы сможете установить SSH-соединение, только если у вас есть действующий закрытый ключ. Без закрытого ключа соединение будет отклонено агентом SSH. Поскольку вы больше не можете использовать свой пароль, сохранение вашего закрытого ключа в безопасности является очень важной задачей, поскольку теперь это ваш единственный способ удаленного доступа к вашему устройству. Если по какой-то причине вам удастся потерять свой закрытый ключ или вы забыли кодовую фразу для своего закрытого ключа, есть еще один способ получить доступ к вашему устройству. Чтобы исправить любые проблемы, которые могут возникнуть с вашим SSH-соединением, вы все равно можете физически подключить к устройству клавиатуру и мышь, чтобы восстановить контроль. Чтобы восстановить доступ по паролю через SSH-соединение, вы должны попробовать отменить изменение, которое мы внесли в настройку PasswordAuthentication, а затем повторно перейти к руководству, чтобы снова настроить ключи SSH.

Кэширование парольной фразы SSH для текущего сеанса терминала

1. Если вы используете инструмент SSH bash, вы можете кэшировать парольную фразу для своего закрытого ключа, пока текущий сеанс все еще продолжается. Для этого мы должны сначала запустить еще одну сессию ssh-agent. Мы можем сделать это, выполнив следующую команду в сеансе терминала.

eval $(ssh-agent -s)

После ввода этой команды вам будет показан идентификатор процесса для только что загруженного ssh-агента. Позже вы можете использовать этот идентификатор процесса, чтобы убить агента и удалить кеширование парольной фразы. Идентификатор процесса должен выглядеть примерно так: «Agent pid 26484 », вам нужно записать номер.

2. Теперь, когда мы запустили дополнительный сеанс ssh-agent, давайте продолжим и добавим к нему наш закрытый ключ. Мы можем сделать это, просто набрав следующую команду, будьте готовы ввести парольную фразу вашего закрытого ключа.

ssh-add

3. Теперь, когда ваш SSH-ключ добавлен к агенту, вы сможете войти в систему на любой удаленной машине, на которой ваш ключ авторизован, без необходимости вводить парольную фразу.

4. Чтобы удалить свой закрытый ключ из кеша SSH-агента, вам нужно будет убить ssh-agent, который мы запустили ранее. Самый простой способ сделать это - использовать идентификатор процесса, который мы получили ранее. Просто вставьте этот идентификатор процесса после команды kill, чтобы убить процесс.

kill PROCESSID Я надеюсь, что к концу этого руководства по SSH-ключам Raspberry Pi вы научитесь как генерировать, так и аутентифицироваться с помощью SSH-ключей.

 

В начало обзора


Купить радиодетали для ремонта
 



Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 373



          

Радио для всех© 2024