В этом пошаговом руководстве мы расскажем, как настроить подключение по ssh ключу. Первым шагом будет генерация пары ключей: публичного и приватного. Затем мы добавим публичный ключ на удаленный сервер и настроим его на использование ssh ключа при подключении. Процесс настройки может немного различаться в зависимости от операционной системы, поэтому мы рассмотрим наиболее распространенные случаи: Linux, macOS и Windows (с помощью PuTTY).
Примечание: для работы с ssh ключами вам понадобится доступ к командной строке на вашем компьютере и на удаленном сервере.
Следуйте нашему подробному руководству, и вы научитесь настраивать подключение по ssh ключу в несколько простых шагов. С этими знаниями вы сможете повысить безопасность своего удаленного подключения и упростить процесс аутентификации.
Шаг 1: Установка OpenSSH
Для установки OpenSSH вам потребуется выполнить следующие действия:
Шаг | Действие |
1 | Откройте терминал (командную строку) на вашем компьютере. |
2 | Выполните следующую команду для установки OpenSSH: |
sudo apt-get install openssh-server | |
3 | Введите пароль администратора системы (root) и нажмите Enter. Процесс установки может занять некоторое время. |
4 | После завершения установки вы можете проверить, активен ли сервис OpenSSH, выполнив следующую команду: |
systemctl status ssh |
Если сервис активен, вы увидите информацию о его статусе. Если сервис не активен, выполните следующую команду для его запуска:
sudo systemctl start ssh
После запуска сервиса OpenSSH ваш компьютер будет готов к настройке подключения по ssh ключу.
Требования и процесс установки OpenSSH
Для настройки подключения по SSH ключу вам потребуется установить программное обеспечение OpenSSH на ваш компьютер. Процесс установки зависит от операционной системы, на которой вы работаете. В данном руководстве мы рассмотрим процесс установки на операционные системы Linux и macOS.
Для установки на операционную систему Linux:
1. Откройте терминал и выполните команду:
sudo apt-get install openssh-server
Эта команда установит OpenSSH сервер на вашей машине.
2. После установки вам потребуется запустить службу OpenSSH. Для этого выполните команду:
sudo systemctl start sshd
Теперь у вас установлен и запущен OpenSSH на вашем компьютере.
Для установки на операционную систему macOS:
1. Откройте терминал и выполните команду:
brew install openssh
Эта команда установит OpenSSH на вашей машине с помощью менеджера пакетов Homebrew.
2. После установки вам потребуется запустить службу OpenSSH. Для этого выполните команду:
sudo systemsetup -setremotelogin on
Теперь у вас установлен и запущен OpenSSH на вашем компьютере.
После установки и запуска OpenSSH вы будете готовы настраивать подключение по SSH ключу. В следующем разделе мы рассмотрим этот процесс более подробно.
Шаг 2: Создание SSH-ключа
Для подключения к удаленному серверу по SSH необходимо создать SSH-ключ.
1. Откройте командную строку или терминал на вашем компьютере.
2. Введите следующую команду:
ssh-keygen -t rsa
3. При запросе введите путь к сохранению ключа или оставьте его по умолчанию, нажав Enter. Это создаст файлы id_rsa и id_rsa.pub в директории ~/.ssh/.
4. Создание ключа также может потребовать ввода парольной фразы. Мы рекомендуем использовать парольную фразу для обеспечения дополнительной защиты.
5. Публичный ключ (id_rsa.pub) нужно разместить на удаленном сервере, куда вы хотите подключиться.
У вас теперь есть созданный SSH-ключ для подключения к удаленному серверу.
Как сгенерировать SSH-ключ в командной строке
Для того чтобы настроить подключение по SSH ключу, вам необходимо сгенерировать SSH-ключ на своем компьютере. В этом разделе будет показано, как сгенерировать SSH-ключ в командной строке.
- Откройте командную строку на своем компьютере.
- Введите следующую команду:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Вместо «[email protected]» введите вашу электронную почту, которую вы использовали при регистрации на сервере.
- После ввода команды вам будет предложено указать файл, в котором будет сохранен новый SSH-ключ. Если вы хотите использовать имя файла по умолчанию, просто нажмите Enter. Вы также можете указать свое собственное имя файла.
- Затем система предложит вам ввести пароль. Мы рекомендуем вам установить пароль для вашего SSH-ключа, чтобы обеспечить дополнительную защиту. Введите пароль и нажмите Enter.
- После этого будет создан новый SSH-ключ в указанном вами файле.
- Теперь у вас есть публичный ключ (с расширением .pub) и приватный ключ (без расширения). Ваш публичный ключ — это файл, который вы сможете передать на сервер для аутентификации. Приватный ключ должен оставаться в безопасности и не передаваться другим лицам.
- Вы можете использовать команду
cat
, чтобы вывести содержимое публичного SSH-ключа в командной строке:cat ~/.ssh/id_rsa.pub
Скопируйте вывод команды и сохраните его. Это будет ваш публичный SSH-ключ, который вы должны будете добавить на сервер.
Теперь у вас есть сгенерированный SSH-ключ, который можно использовать для настройки подключения по SSH ключу. Следующий шаг — добавить свой публичный ключ на сервере.
Шаг 3: Передача ключа на сервер
Чтобы установить подключение по SSH ключу между клиентом и сервером, необходимо передать публичную часть ключа на удаленный сервер.
Шаг 3.1: Скопировать ключ на сервер:
- Скопируйте публичный ключ, который вы создали в Шаге 2.
- Откройте терминал и подключитесь к удаленному серверу с использованием учетных данных, предоставленных администратором сервера:
ssh username@server_ip_address
- Введите пароль учетной записи пользователя на сервере, если система запросит его.
- Откройте файл ~/.ssh/authorized_keys в текстовом редакторе:
nano ~/.ssh/authorized_keys
- Вставьте скопированный публичный ключ в конец файла и сохраните изменения.
- Установите правильные разрешения на файл ~/.ssh/authorized_keys:
chmod 600 ~/.ssh/authorized_keys
- Выполните команду для перезапуска службы SSH на сервере:
sudo systemctl restart ssh
- Теперь публичный ключ успешно скопирован на удаленный сервер.
Примечание: Если у вас уже есть файл authorized_keys на удаленном сервере, просто добавьте новый публичный ключ в конец файла, сохраните и перезапустите службу SSH.
Как отправить публичный SSH-ключ на удаленный сервер
В данном руководстве мы рассмотрим процесс отправки публичного SSH-ключа на удаленный сервер. Такой способ авторизации обеспечивает более безопасное подключение к удаленному серверу и отсутствие необходимости вводить пароль каждый раз.
Для начала у вас уже должен быть создан публичный и приватный SSH-ключ на вашем локальном компьютере. Если у вас их нет, следуйте этим шагам, чтобы их сгенерировать:
- Откройте терминал или командную строку.
- Введите команду
ssh-keygen
и нажмите клавишу Enter. - Система попросит вас указать место сохранения ключей и ввести пароль, если хотите добавить парольную защиту к вашему приватному ключу. Если не хотите добавлять пароль, просто нажмите клавишу Enter два раза.
После того, как у вас есть публичный и приватный ключи, следуйте инструкциям ниже, чтобы отправить публичный ключ на удаленный сервер:
- Откройте терминал или командную строку.
- Используйте команду
ssh-copy-id username@remote_host
, гдеusername
— ваше имя пользователя на удаленном сервере, аremote_host
— IP-адрес или доменное имя удаленного сервера. - Система попросит ввести пароль для вашего аккаунта на удаленном сервере.
- После успешной аутентификации ваш публичный ключ будет автоматически скопирован в правильное место на удаленном сервере.
Теперь вы сможете подключиться к удаленному серверу без ввода пароля, используя свои SSH-ключи. Проверьте подключение, выполнив команду ssh username@remote_host
, где username
и remote_host
— те же значения, что и в предыдущих шагах.
Если подключение прошло успешно без запроса пароля, значит, ваш публичный SSH-ключ настроен и готов к использованию.
Шаг 4: Настройка сервера
В этом шаге мы будем настраивать сервер для подключения по ssh ключу.
Шаг 4.1: Откройте терминал на вашем сервере и введите следующую команду:
sudo nano /etc/ssh/sshd_config
Это откроет конфигурационный файл sshd_config в текстовом редакторе nano.
Шаг 4.2: Найдите и отредактируйте следующую строку в файле:
#PasswordAuthentication yes
Замените «yes» на «no». Это отключит аутентификацию по паролю.
Шаг 4.3: Найдите и отредактируйте следующую строку в файле:
#PubkeyAuthentication yes
Уберите символ «#» в начале строки. Это включит аутентификацию по ssh ключу.
Шаг 4.4: Сохраните изменения и закройте файл, нажав на клавиши Ctrl+X, затем Y, затем Enter.
Шаг 4.5: Перезапустите службу sshd, чтобы применить изменения, введя следующую команду:
sudo systemctl restart sshd
Теперь ваш сервер настроен для подключения по ssh ключу. В следующем шаге мы проверим, что все работает должным образом.