SSH означает Secure Shell, который представляет собой закодированный сетевой протокол. Его цель — установить безопасное соединение между клиентом и сервером, и для этого используются различные системы аутентификации. В частности, существует система аутентификации по ключу и система аутентификации по паролю.
Содержание
Вы можете установить SSH-логин на сервере Linux, который не требует пароля. Однако вам нужен ключ, но вы получаете его из пакета утилит OpenSSH. Это обеспечит вам генератор ключей на вашем локальном компьютере.
Затем вы можете скопировать открытый ключ на удаленный сервер и предоставить идентификационные данные для вашего агента аутентификации. Все это звучит сложно, но вскоре вы увидите, что это не так.
SSH Login Without a Password
Что вам нужно для входа в Secure Shell без пароля — это сгенерированный открытый ключ аутентификации. Этот ключ необходимо добавить в файл удаленного хоста: ~/.ssh/authorized_keys.
Ниже приведены подробные шаги по настройке входа в систему SSH без пароля.
Попробуйте найти существующую пару ключей Secure Shell
Вам нужно выполнить эту команду и проверить, существуют ли уже SSH ключи:
$ ls -al ~/.ssh/id_* .pub
Это необходимо, потому что, если уже существуют SSH ключи, вы заменят их, когда сгенерируете новый. Если они у вас есть, вы можете использовать их и пропустить следующий шаг. Кроме того, вы можете создать их резервную копию, а затем сгенерировать новые.
Вы можете продолжить генерировать новый ключ, если вы видите сообщения о том, что не найдено совпадений или что такой каталог или файл не существует.
Сделайте новую пару ключей Secure Shell
Вы можете сгенерировать новую пару ключей SSH с длиной 4096 бит и отправить ее на свой адрес электронной почты с помощью следующей команды:
$ ssh-keygen -t rsa -b 4096 -C «[email protected]»
Затем нажмите на Enter и примите имя и расположение файла по умолчанию.
Введите файл, в котором будет сохранен ключ (/home/yourusername/.ssh/id_rsa).
После этого вы можете установить пароль через инструмент генератора ключей SSH. Это необязательно делать, но пароль повысит вашу безопасность. В любом случае, системные администраторы и разработчики обычно используют Secure Shell без пароля для полной автоматизации процесса.
Если вы решили обойтись без пароля, нажмите на Enter.
Введите ключевую фразу (пусто — без ключевой фразы).
Вы можете проверить сгенерированные SSH ключи, перечислив ваши новые открытые и закрытые ключи с помощью этой команды:
$ ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
Копирование открытого ключа сервера
После того, как вы создали пару SSH ключей, вам нужен открытый ключ сервера, которым вы хотите управлять. Это нужно для того, чтобы вы могли войти на свой сервер без использования пароля.
Вы можете скопировать открытый ключ на свой сервер с помощью этой команды:
$ ssh-copy-id remote_username@server_ip_address
Вы получите сообщение с просьбой ввести пароль remote_username:
remote_username@server_ip_address’s password:
Когда вы получите аутентификацию, в файл удаленного пользователя (authorized_keys) будет добавлен открытый ключ. После этого соединение будет закрыто.
На всякий случай, если вы не можете использовать утилиту ssh-copy-id на вашем компьютере, используйте эту команду для копирования открытого ключа:
$ cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address «mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat » ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys»
Вход без пароля
Наконец, вы готовы войти на свой сервер, и для этого вам не понадобится ключ или пароль. Попробуйте сделать это с помощью следующей команды:
$ ssh remote_username@server_ip_address
Вы должны получить мгновенный вход, если вы все сделали правильно.
Удаление SSH-аутентификации
Для дополнительной безопасности вы можете удалить SSH-аутентификацию по паролю. Не путайте это с паролем для входа на сервер. На самом деле, перед этим шагом вам нужно убедиться, что у вас есть доступ к серверу без пароля и что ваш пользователь имеет привилегии sudo.
Используя ключи SSH, войдите на удаленный сервер. Сделайте это как привилегированный пользователь sudo:
$ ssh remote_username@server_ip_address
Вам нужно войти в конфигурационный файл Secure Shell /etc/ssh/sshd_config, и попытаться найти эти директивы, изменив их именно так:
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
Когда вы закончите, сохраните этот файл и перезагрузите службу Secure Shell. Вы можете перезапустить ее с помощью этой команды на серверах Debian и Ubuntu:
$ sudo systemctl restart ssh
На серверах Fedora или CentOS используйте эту команду:
$ sudo systemctl restart sshd
No Password No Worries
Теперь вы знаете, как настроить SSH аутентификацию с помощью ключа без пароля пользователя для входа на удаленный сервер. Знаете ли вы, что вы можете добавить один ключ на более чем один удаленный сервер? Кроме того, вы можете удалить SSH-аутентификацию с помощью пароля и повысить при этом безопасность вашего сервера.
Почему вы хотите настроить SSH-аутентификацию без ключа или пароля? Помогли ли вам эти инструкции достичь вашей цели? Сообщите нам об этом в комментариях ниже.
YouTube видео: Как использовать SSH для входа в систему без ключа или пароля
Вопросы и ответы по теме: “Как использовать SSH для входа в систему без ключа или пароля”
Как получить доступ через SSH?
**Для ОС Linux доступ по SSH осуществляется через терминал, который уже предустановлен в самой системе.**1. Запустите терминал: в Unity (Ubuntu): «Главное меню» — в поисковой строке введите слово «Терминал». 2. Введите команду: ssh [email protected]. 3. Нажмите Enter, введите пароль услуги хостинга.
Как настроить вход по SSH?
**Как настроить ssh, чтобы не вводить пароль**1. Запустите ssh-keygen(1) на вашей машине и просто нажмите Enter во время запроса пароля. Будут созданы частный и публичный ключи. 2. Далее, добавьте содержимое файла с публичным ключом в ~/. ssh/authorized_keys на удалённом сайте (права доступа к файлу должны иметь значение 600).
Как использовать SSH ключи?
При создании пользователя на сервере ему можно разрешить вход по SSH-ключу. Для этого необходимо указать открытый ключ. Когда пользователь захочет подключиться, он отправит запрос на сервер. После чего сервер ответит случайной фразой, которую пользователь шифрует.
Как подключиться по SSH через терминал?
Удаленное подключение по SSH к ВМ Linux® через Linux/Mac OS1. Откройте утилиту Терминал (Terminal). 2. В строке введите команду ssh , имя пользователя, знак @ и внешний IP (EIP) — например, ssh [email protected] . Нажмите Enter. 3. Введите пароль (password) и нажмите Enter .
Как подключиться по SSH к серверу?
**Как подключиться к VPS c OC Windows**1. Скачиваем SSH-клиент с официального сайта, устанавливаем и запускаем приложение (файл putty.exe). 2. Вводим IP-адрес VPS в графу «Имя хоста». Проверяем графу «Тип соединения» — должен быть выбран пункт «SSH». 3. Вводим логин (→ «Enter») и пароль (→ «Enter») виртуального сервера. 4. Готово.
Как подключиться через SSH Windows?
Также вы можете установить сервер OpenSSH в Windows через современную панель Параметры (Settings -> Apps and features -> Optional features -> Add a feature, Приложения -> Управление дополнительными компонентами -> Добавить компонент. Найдите в списке OpenSSH Server и нажмите кнопку Install).