Оглавление:

Безопасное соединение SSH / SCP от Raspberry Pi к облачному серверу для резервного копирования и обновления: 3 шага
Безопасное соединение SSH / SCP от Raspberry Pi к облачному серверу для резервного копирования и обновления: 3 шага

Видео: Безопасное соединение SSH / SCP от Raspberry Pi к облачному серверу для резервного копирования и обновления: 3 шага

Видео: Безопасное соединение SSH / SCP от Raspberry Pi к облачному серверу для резервного копирования и обновления: 3 шага
Видео: Подключаемся к удаленному серверу с помощью SSH + VSCode 2024, Ноябрь
Anonim
Безопасное соединение SSH / SCP от Raspberry Pi к облачному серверу для резервного копирования и обновлений
Безопасное соединение SSH / SCP от Raspberry Pi к облачному серверу для резервного копирования и обновлений

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

(ПРЕДОСТЕРЕЖЕНИЕ - не пытайтесь это сделать, если вы не компетентны в настройке разрешений Linux, иначе вы сделаете свои системы более уязвимыми для атак хакеров.)

Требования

1. Raspberry Pi с интерфейсом командной строки (CLI), как в Putty.

2. Доступ к удаленному облачному серверу, размещенному, скажем, OVH или DigitalOcean, с помощью интерфейса командной строки.

3. Ноутбук или ПК с Windows с установленными Putty и PuttyGen.

Предположения

1. Вы знакомы с командами Linux.

2. Вы можете получить доступ к своему удаленному серверу, используя обычные ручные процессы, например FTP.

3. У вас будет предустановленная PuttyGen на вашем ПК с Windows.

Шаги

Таким образом, см. Рисунок 1.

а) На вашем ПК с Windows создайте частный файл PPK с помощью PuttyGen

б) На вашем ПК с Windows создайте общедоступный файл PPK с помощью PuttyGen (это делается автоматически на шаге а)

б) На вашем ПК с Windows скопируйте открытый ключ со своего ПК с Windows на удаленный облачный сервер.

d) На вашем ПК с Windows конвертируйте частный файл PPK в ключ OpenSSH с помощью PuttyGen.

д) Скопируйте ключ OpenSSH со своего ПК с Windows на Raspberry Pi.

е) Проверьте доступ и передачу файлов с Raspberry Pi на удаленный сервер.

Шаг 1: A) Создайте частный файл PPK, B) Создайте открытый ключ и C) Скопируйте его на удаленный сервер

A) Создайте частный файл PPK, B) Создайте открытый ключ и C) Скопируйте его на удаленный сервер
A) Создайте частный файл PPK, B) Создайте открытый ключ и C) Скопируйте его на удаленный сервер
A) Создайте частный файл PPK, B) Создайте открытый ключ и C) Скопируйте его на удаленный сервер
A) Создайте частный файл PPK, B) Создайте открытый ключ и C) Скопируйте его на удаленный сервер

Чтобы создать частный файл PPK, откройте PuttyGen на вашем ПК с Windows. Вы можете получить доступ к PuttyGen, щелкнув правой кнопкой мыши значок замазки на панели задач Windows. В меню PuttyGen выберите ключ, затем сгенерируйте пару ключей, выберите параметр SSH2 -RSA key. Вам будет предложено установить парольную фразу при создании секретного ключа, и если вы установите парольную фразу, вам будет предложено ввести ее во время будущих операций. Сохраните секретный ключ в надежном месте на вашем ПК с Windows. После этого вы увидите открытый ключ на панели окна, как показано на рисунке 2.

Далее давайте перенесем открытый ключ на удаленный облачный сервер. Откройте сеанс Putty на удаленном облачном сервере с помощью Putty. Допустим, вы вошли в систему как remoteuser1, а затем выполните следующие действия в интерфейсе командной строки удаленного облачного сервера.

cd / home / remoteuser1 (если его еще нет) mkdir.ssh

nano.ssh / authorized_keys (вы увидите пустой экран - вставьте открытый ключ, показанный на рисунке 2, затем сохраните и закройте этот файл)

chmod 0700.ssh

chmod 0600 /home/remoteuser1/.ssh/authorized_keys

Шаг 2: D) Конвертируйте частный файл PPK в ключ OpenSSH и E) Скопируйте его на Raspberry Pi

Чтобы преобразовать закрытый ключ в OpenSSH, откройте PuttyGen, а затем откройте закрытый ключ, который вы создали ранее - перейдите к пункту Конверсии в меню, затем выберите Экспорт ключа OpenSSH - убедитесь, что создаваемый файл имеет тип файла.key. Сохраните его где-нибудь в надежном месте, затем откройте сеанс замазки, чтобы войти в свой Raspberry Pi. Скопируйте ключевой файл в домашний каталог Raspberry Pi учетной записи пользователя, которую вы использовали для входа в Raspberry Pi. Скажем, ключ называется pitobot.key, затем выполните следующие действия:

cd / home / pi

sudo mv pitobot.key / главная / пи /

sudo chmod 600 pitobot.key

Теперь вы готовы проверить, прошла ли ваша установка успешно - опять же, это делается с Pi. Помните, что remoteuser1 - это учетная запись на удаленном облачном сервере, в домашнем каталоге которого вы сохранили открытый ключ, а ipaddress - это ip-адрес удаленного облачного сервера.

Сначала с Raspberry Pi, давайте войдем на удаленный облачный сервер с помощью Putty. Введите следующие команды в Raspberry PI CLI. (Если вы установили кодовую фразу при создании закрытого ключа, вам будет предложено ввести ее сейчас.)

sudo ssh -i /home/pi/pitobot.key remoteuser1 @ ipaddress

Это позволит вам войти в интерфейс командной строки удаленного облачного сервера в домашнем каталоге remoteuser1. Набрав «exit; вы вернетесь к интерфейсу командной строки вашего Raspberry Pi.

Затем попробуйте перенести файлы с удаленного облачного сервера на Raspberry Pi. Используйте следующие команды: (Опять же, если вы установили кодовую фразу при создании закрытого ключа, вам будет предложено ввести ее сейчас.)

sudo scp -i /home/pi/pitobot.key remoteuser1 @ ipaddress: //var/www/html/*.* / home / pi /

Это перенесет все файлы из папки / var / www / html / на удаленном сервере в папку / home / pi / на вашем Raspberry Pi. (Двоеточие очень важно) Вы, конечно, можете изменить порядок команд и передавать файлы с Pi на удаленный сервер.

Шаг 3: соображения безопасности

Хотя подход с использованием пары ключей SSH повышает безопасность, примите во внимание следующее:

1. При включенных парах ключей SSH вам следует подумать об исключении возможности для пользователей входить непосредственно на удаленный сервер (вы также можете получить доступ к своим серверам, используя пары ключей Putty в Windows, используя ту же пару ключей, и вы также можете рассмотреть возможность отключения также войдите на свой Pi). Будьте осторожны, если решите сделать это, и не прибегайте к большому взрыву. Для этого вам нужно отключить несколько конфигураций в файле конфигурации ssh. Будьте очень осторожны при этом. Команды

нано / и т. д. / ssh / sshd_config

И внутри файла внесите следующие изменения

Пароль Аутентификация нет

UsePAM нет

Сохраните, выйдите и перезапустите SSH с помощью systemctl restart ssh (это для Debian. В разных дистрибутивах Linux может быть по-другому)

2) Храните все свои ключи в безопасности, иначе вы рискуете взломать данные или не иметь доступа к вашим серверам. Я рекомендую хранить их в безопасном хранилище, таком как bitwarden.com, и ограничивать доступ к нему с помощью своей политики контроля доступа.

3) Использование ключевой фразы повышает безопасность, но может затруднить автоматизацию заданий cron и т. Д. Решение об использовании этой и других функций должно определяться оценкой рисков, например, если вы обрабатываете персональные данные, вам необходим более строгий / пропорциональный контроль.

Рекомендуемые: