- Как настроить SSH-вход без пароля
- Настройка SSH входа без пароля
- Отключение аутентификации по паролю SSH
- Выводы
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как настроить SSH вход без пароля
- Подготовка
- Шаг 1. Создайте пару ключей SSH
- Шаг 2. Загрузите открытый ключ на удаленный сервер
- Вариант 1. Загрузить открытый ключ с помощью команды ssh-copy-id
- Вариант 2: загрузить открытый ключ с помощью команды cat
- Шаг 3. Войдите на сервер без пароля
- Дополнительно: Устранение неполадок с разрешениями файлов удаленного сервера
- Как настроить вход в SSH без пароля
Как настроить SSH-вход без пароля
Secure Shell (SSH) — это криптографический сетевой протокол, используемый для безопасного соединения между клиентом и сервером и поддерживающий различные механизмы аутентификации. Двумя наиболее популярными механизмами являются аутентификация на основе паролей и аутентификация на основе открытого ключа.
В этом руководстве мы покажем вам, как настроить аутентификацию на основе ключа SSH, а также как подключиться к вашему серверу Linux без ввода пароля.
Настройка SSH входа без пароля
Чтобы настроить SSH-вход без пароля в Linux, все, что вам нужно сделать, это сгенерировать открытый ключ аутентификации и добавить его в файл
/.ssh/authorized_keys удаленных хостов.
Следующие шаги описывают процесс настройки входа по SSH без пароля:
Проверьте существующую пару ключей SSH.
Перед созданием новой пары ключей SSH сначала проверьте, есть ли у вас уже ключ SSH на вашем клиентском компьютере, потому что вы не хотите перезаписывать существующие ключи.
Выполните следующую команду ls, чтобы проверить наличие существующих ключей SSH:
Если есть существующие ключи, вы можете использовать их и пропустить следующий шаг или создать резервную копию старых ключей и сгенерировать новый.
Если вы видите No such file or directory или no matches found это означает, что у вас нет ключа SSH, и вы можете перейти к следующему шагу и сгенерировать новый.
Создайте новую пару ключей SSH.
Следующая команда сгенерирует новую пару ключей SSH 4096 бит с вашим адресом электронной почты в качестве комментария:
Нажмите Enter чтобы принять расположение и имя файла по умолчанию:
Затем инструмент ssh-keygen попросит вас ввести безопасную парольную фразу. Независимо от того, хотите ли вы использовать кодовую фразу, решать вам, если вы решите использовать кодовую фразу, вы получите дополнительный уровень безопасности. В большинстве случаев разработчики и системные администраторы используют SSH без парольной фразы, поскольку они полезны для полностью автоматизированных процессов. Если вы не хотите использовать кодовую фразу, просто нажмите Enter .
В целом взаимодействие выглядит так:
Чтобы убедиться, что ключи SSH сгенерированы, вы можете указать свои новые закрытые и открытые ключи с помощью:
Скопируйте открытый ключ
Теперь, когда вы сгенерировали пару ключей SSH, чтобы иметь возможность войти на свой сервер без пароля, вам необходимо скопировать открытый ключ на сервер, которым вы хотите управлять.
Самый простой способ скопировать ваш открытый ключ на сервер — использовать команду ssh-copy-id . На вашем локальном машинном терминале введите:
Вам будет предложено ввести пароль remote_username :
После аутентификации пользователя открытый ключ будет добавлен в файл authorized_keys удаленного пользователя, и соединение будет закрыто.
Если по какой-либо причине ssh-copy-id недоступна на вашем локальном компьютере, вы можете использовать следующую команду для копирования открытого ключа:
Войдите на свой сервер с помощью ключей SSH
После выполнения описанных выше действий вы сможете войти на удаленный сервер без запроса пароля.
Чтобы проверить это, просто попробуйте войти на свой сервер через SSH:
Если все прошло успешно, вы сразу же войдете в систему.
Отключение аутентификации по паролю SSH
Чтобы добавить дополнительный уровень безопасности к вашему серверу, вы можете отключить аутентификацию по паролю для SSH.
Перед отключением парольной аутентификации SSH убедитесь, что вы можете войти на свой сервер без пароля, а пользователь, с которым вы входите, имеет права sudo.
В следующих руководствах описывается, как настроить доступ sudo:
Войдите на удаленный сервер с помощью ключей SSH, либо как пользователь с привилегиями sudo, либо как пользователь root:
Откройте файл конфигурации SSH /etc/ssh/sshd_config , найдите следующие директивы и измените их следующим образом:
Как только вы закончите, сохраните файл и перезапустите службу SSH.
На серверах Ubuntu или Debian выполните следующую команду:
На серверах CentOS или Fedora выполните следующую команду:
Выводы
В этом руководстве вы узнали, как настроить аутентификацию на основе ключей SSH, позволяющую входить на удаленный сервер без ввода пароля пользователя. Вы можете добавить один и тот же ключ к нескольким удаленным серверам.
Мы также показали вам, как отключить аутентификацию по паролю SSH и добавить дополнительный уровень безопасности на ваш сервер.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как настроить SSH вход без пароля
4 минуты чтения
SSH (Secure Shell) обеспечивает безопасное удаленное соединение между двумя системами. С помощью этого криптографического протокола вы можете управлять машинами, копировать или перемещать файлы на удаленном сервере через зашифрованные каналы.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Существует два способа входа в удаленную систему через SSH — с использованием аутентификации по паролю или аутентификации с открытым ключом (вход SSH без пароля).
В этом руководстве вы узнаете, как настроить и включить вход по SSH без пароля.
Подготовка
- Доступ к командной строке или окну терминала
- Пользователь с привилегиями sudo или root
- Локальный сервер и удаленный сервер
- Доступ по SSH к удаленному серверу через командную строку или окно терминала
Перед тем как начать проверьте существующие ключи SSH. Возможно, на вашем компьютере уже есть пара ключей SSH. Чтобы узнать, есть ли у вас в системе ключи SSH, выполните команду:
Если в выводе указано, что таких файлов нет, переходите к следующему шагу, который показывает, как сгенерировать ключи SSH. Если они у вас есть, вы можете использовать существующие ключи, сделать их резервную копию и создать новую пару или перезаписать ее.
Шаг 1. Создайте пару ключей SSH
1. Первое, что вам нужно сделать, это сгенерировать пару ключей SSH на машине, на которой вы сейчас работаете.
В этом примере мы генерируем 4096-битную пару ключей. Мы также добавляем адрес электронной почты, но это необязательно. Команда такая:
2. Затем введите место, где вы хотите сохранить ключи, или нажмите Enter, чтобы принять путь по умолчанию.
3. Также вам будет предложено установить кодовую фразу. Хотя это делает соединение еще более безопасным, оно может прерываться при настройке автоматизированных процессов. Поэтому вы можете ввести пароль или просто нажать Enter, чтобы пропустить этот шаг.
4. Затем в выводе сообщается, где хранятся идентификационный и открытый ключ, а также выдается отпечаток ключа.
5. Убедитесь, что вы успешно создали пару ключей SSH, выполнив команду:
Вы должны увидеть путь идентификационного ключа и открытого ключа, как на скриншоте ниже:
Шаг 2. Загрузите открытый ключ на удаленный сервер
Вы можете загрузить публичный SSH-ключ на удаленный сервер с помощью команды ssh-copy-id или команды cat .
Вариант 1. Загрузить открытый ключ с помощью команды ssh-copy-id
Чтобы включить беспарольный доступ, вам необходимо загрузить копию открытого ключа на удаленный сервер.
1. Подключитесь к удаленному серверу и используйте команду ssh-copy-id :
2. Открытый ключ автоматически копируется в файл .ssh/authorized_keys .
Вариант 2: загрузить открытый ключ с помощью команды cat
Другой способ скопировать открытый ключ на сервер — использовать команду cat .
1. Начните с подключения к серверу и создания на нем каталога .ssh .
2. Затем введите пароль для удаленного пользователя.
3. Теперь вы можете загрузить открытый ключ с локальной машины на удаленный сервер. Команда также указывает, что ключ будет храниться под именем authorized_keys во вновь созданном каталоге .ssh :
Шаг 3. Войдите на сервер без пароля
После создания пары ключей SSH и загрузки открытого ключа на удаленный сервер вы должны иметь возможность подключаться к выделенному серверу без ввода пароля.
Проверьте, работает ли установка, выполнив команду:
Система должна напрямую входить в систему на удаленном сервере, пароль не требуется.
Примечание: убедившись, что вы можете подключаться к удаленному серверу SSH без пароля, рассмотрите возможность полного отключения аутентификации по паролю SSH. Это добавит еще один уровень безопасности и защитит ваш сервер от bruteforce атак.
Дополнительно: Устранение неполадок с разрешениями файлов удаленного сервера
Права доступа к файлам на удаленном сервере могут вызвать проблемы с входом в SSH без пароля. Это обычная проблема со старыми версиями SSH.
Если после выполнения всех шагов вам все еще предлагается ввести пароль, начните с редактирования прав доступа к файлам на удаленном сервере.
- Установите разрешения 700 для каталога .ssh .
- Установите разрешения 640 для каталога .ssh/authorized_keys .
Отредактируйте права доступа к файлу с помощью следующей команды:
При появлении запроса введите свой пароль. Если действие было успешным, вывода не будет.
Если вы хотите автоматизировать обновления и другие задачи или беспрепятственно подключаться к удаленному серверу по SSH, вам следует включить вход по SSH без пароля. Инструкции в этой статье должны помочь вам в этом.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник
Как настроить вход в SSH без пароля
Преамбула.
Ключи SSH обеспечивают более безопасный способ доступа к выделенному серверу с SSH, нежели с помощью пароля напрямую. В то время как пароль, в конечном счете, может быть взломан путем подбора, ключи SSH почти невозможно расшифровать с помощью перебора (bruteforce) в одиночку. Создание Ключевой Пары предоставляет вам две длинные строки символов: публичный и приватный ключи. Вы можете разместить публичный ключ на любом сервере, а затем разблокировать сервер, подключившись к нему с клиента, который уже имеет закрытый приватный ключ. Когда оба ключа совпадают, система разблокирует доступ без необходимости ввода пароля. Вы можете повысить безопасность еще больше, защищая закрытый ключ кодовой фразой.
Шаг первый — Создание RSA пары ключей.
Первым шагом является создание пары ключей на клиентской машине (будет просто замечательно, если это будет ваш компьютер):
Шаг второй — Сохранение ключа и кодовой фразы
После того, как вы ввели команду Gen Key, вы получите еще несколько запросов:
Enter file in which to save the key (/home/demo/.ssh/id_rsa):
Если вам удобно, нажмите клавишу ввода и , сохраните файл на своем личном компьютере (в данном случае, мой пример — пользователь называется «демо»).
Только от вас зависит, хотите ли вы использовать кодовую фразу. Ввод фразы имеет свои преимущества: безопасность ключа, независимо от того, как он зашифрован, а так же её невидимость для других пользователей, что немаловажно. Если объект защищен парольной фразой, то несанкционированным пользователям просто невозможно подключиться к процессу. Они не смогут войти в процесс не зная этой кодовой фразы, и в данной ситуации, даже покупка взломанных кодов и пользователей не решает проблему. Единственный недостаток при использовании кодовой фразы — ее придется вводить каждый раз, при использовании Ключевой Пары.
Весь процесс генерации ключа выглядит так:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
The key’s randomart image is:
Открытый ключ в настоящее время находится в /home/demo/.ssh/id_rsa.pub . закрытый ключ (идентификация) в настоящее время находится в /home/demo/.ssh/id_rsa
Шаг третий — копирование Публичного Ключа.
После того, как ключевая пара сгенерирована, пора поставить открытый ключ на сервере, который мы будем использовать.
Вы можете скопировать открытый ключ в authorized_keys машины с помощью команды ssh-copy-id. Не забудьте заменить имя пользователя и IP-адрес из примера ниже, на нужные вам.
Либо вы можете вставить в ключи с использованием SSH:
/.ssh/id_rsa.pub | ssh user@123.45.56.78 «mkdir -p
Независимо от того, какой метод вы выбрали, вы должны увидеть что-то вроде:
The authenticity of host ‘12.34.56.78 (12.34.56.78)’ can’t be established.
RSA key fingerprint is b1:7d:13:57:2e:31:4d:5e:c3:a8:a3:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘12.34.56.78’ (RSA) to the list of known hosts.
Теперь поопробуйте залогиниться с помощью:
Это необходимо для того, чтобы убедиться что мы не создали лишние ключи.
Теперь вы можете авторизоваться как user@12.34.56.78 и не увидите предложения ввода пароля. Однако, если вы установите парольную фразу, вам будет предложено ввести ключевую фразу на тот момент (и всякий раз, когда вы захотите еще войти в будущем).
Дополнительный четвертый этап — отключить пароль для суперпользователя (администратора с root правами) в системе.
После того, как вы скопировали ключи SSH к вашему серверу и убедились, что вы можете войти с ключами SSH лично, вы можете пойти дальше и ограничить вход администратора, чтобы он допускался только с помощью ключей SSH.
Для того чтобы сделать это, откройте файл SSH конфигурации:
sudo nano /etc/ssh/sshd_config
в этом файле найдите строку, которая включает PermitRootLogin и измените её, чтобы разрешить пользователям подключаться только используя их SSH ключ
Убедитесь, что изменения вступили в силу:
reload ssh (либо service sshd restart)
Источник