Вход по SSH на удаленный сервер Ubuntu без пароля

Настройка входа по SSH на сервере Ubuntu

В этой статье мы рассмотрим, как настроить вход пользователей только по SSH на сервере Ubuntu. Это позволит повысить безопасность вашего сервера, ограничив вход только по защищённому протоколу SSH.

Шаг 1: Установка и настройка OpenSSH

OpenSSH - это пакет, который позволяет устанавливать защищённое соединение между клиентом и сервером по протоколу SSH. Если он ещё не установлен на вашем сервере, вы можете установить его с помощью следующей команды:

sudo apt-get update
sudo apt-get install openssh-server

Шаг 2: Настройка конфигурационного файла OpenSSH

Откройте конфигурационный файл OpenSSH в текстовом редакторе:

sudo nano /etc/ssh/sshd_config

Найдите строку, начинающуюся с PasswordAuthentication и измените её значение на no. Это запретит вход по паролю и позволит только ключевое аутентификация:

PasswordAuthentication no

Найдите строку, начинающуюся с PubkeyAuthentication и измените её значение на yes. Это позволит использовать ключевое аутентификация:

PubkeyAuthentication yes

Сохраните изменения и закройте файл.

Шаг 3: Перезапуск службы OpenSSH

Перезапустите службу OpenSSH, чтобы изменения вступили в силу:

sudo service ssh restart

Шаг 4: Создание ключей SSH

На клиентской машине создайте ключи SSH с помощью следующей команды:

ssh-keygen -t rsa

Это создаст пару ключей: приватный ключ (id_rsa) и открытый ключ (id_rsa.pub).

Шаг 5: Копирование открытого ключа на сервер

Вариант 1: Использование команды ssh-copy-id

Если вы хотите использовать команду ssh-copy-id для копирования открытого ключа на сервер, выполните следующую команду:

ssh-copy-id username@server_ip

Замените username на имя пользователя на сервере, а server_ip - на IP-адрес сервера.

Вариант 2: Копирование и вставка ключа вручную

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

Откройте файл id_rsa.pub на клиентской (локальной) машине и скопируйте содержимое ключа.

cat ~/.ssh/id_rsa.pub

Затем, на сервере, откройте файл ~/.ssh/authorized_keys в текстовом редакторе:

sudo nano ~/.ssh/authorized_keys

Добавьте скопированный ключ в конец файла и сохраните изменения.

Пример содержимого файла authorized_keys:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+... username@client_machine

Закройте файл и убедитесь, что права доступа к файлу установлены правильно:

sudo chmod 600 ~/.ssh/authorized_keys

Теперь ключевая аутентификация должна работать, и вы должны подключиться к серверу по SSH без ввода пароля.

Если первый вариант не сработал, следуйте инструкциям второго варианта.

Шаг 6: Проверка входа по SSH

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

ssh username@server_ip

Если всё настроено правильно, вы должны подключиться к серверу без ввода пароля.

Вывод

В этой статье мы рассмотрели, как настроить вход пользователей только по SSH на сервере Ubuntu. Это позволит повысить безопасность вашего сервера, ограничив вход только по защищённому протоколу SSH.

Read more

Замена дефолтного перевода слова в Django Admin

Если вы не удовлетворены тем, как приложение перевело какое-нибудь слово, вы можете легко заменить его на свой вариант. В этой статье мы рассмотрим, как сделать это в Django. Как Django ищет переводы Когда Django ищет перевод слова, он сначала проверяет папку locale на самом верхнем уровне проекта. Если перевод не

By Dmitry

Использование Email вместо имени пользователя для входа в Django Admin

По умолчанию, Django использует имя пользователя для входа в систему. Однако, в некоторых случаях использование email может быть более удобным и практичным. Например, большинство пользователей помнят свой email, а не имя пользователя. В этой статье мы рассмотрим, как настроить вход в Django с использованием email вместо имени пользователя. Зачем использовать

By Dmitry

Показ кастомной страницы 404 в Django

В этом посте мы рассмотрим, как показать кастомную страницу 404 в приложении на Django. Это может быть полезно, если вы хотите предоставить пользователям более информативную и дружелюбную страницу ошибки вместо стандартной страницы 404, которая показывает только сообщение об ошибке. Шаг 1: Создание кастомной страницы 404 Сначала создайте новый шаблон для

By Dmitry

Автоматизация деплоя по SSH с паролем

Автоматизация деплоя с помощью GitHub Actions и SSH для Django проекта (вход на сервер по SSH с паролем) GitHub Actions — это сервис, который позволяет автоматизировать процесс сборки, тестирования и деплоя вашего кода. Одним из способов деплоя является использование SSH для подключения к серверу и копирования файлов. В этой статье мы

By Dmitry