Вход по 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.