Ssh без пароля windows

Содержание
  1. Как настроить вход в SSH без пароля
  2. ИТ База знаний
  3. Полезно
  4. Навигация
  5. Серверные решения
  6. Телефония
  7. Корпоративные сети
  8. Курс по сетям
  9. 15 примеров команды PING для диагностики сети
  10. Руководство по команде grep в Linux
  11. Рекурсивно найти слово в файлах и папках Linux
  12. 37 самых важных команд Linux
  13. Как пользоваться командой Find в Linux
  14. Установка CentOS 7 в Hyper-V
  15. Установка CentOS 7 Minimal
  16. Как настроить SSH вход без пароля
  17. Подготовка
  18. Шаг 1. Создайте пару ключей SSH
  19. Шаг 2. Загрузите открытый ключ на удаленный сервер
  20. Вариант 1. Загрузить открытый ключ с помощью команды ssh-copy-id
  21. Вариант 2: загрузить открытый ключ с помощью команды cat
  22. Шаг 3. Войдите на сервер без пароля
  23. Дополнительно: Устранение неполадок с разрешениями файлов удаленного сервера
  24. Как подключиться к серверу по SSH с помощью пароля или ключа
  25. Проверка службы SSH на сервере
  26. Использование пароля
  27. Подключение на Windows
  28. Подключение на Linux и macOS
  29. Использование ключа
  30. Генерирование ключа и подключение на Windows
  31. Генерирование ключа и подключение на Linux и macOS
  32. Отключение запроса пароля

Как настроить вход в 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 ключ

Убедитесь, что изменения вступили в силу:

Читайте также:  Soft для windows rus

reload ssh (либо service sshd restart)

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Курс по сетям

15 примеров команды PING для диагностики сети

Руководство по команде grep в Linux

Рекурсивно найти слово в файлах и папках Linux

37 самых важных команд Linux

Как пользоваться командой Find в Linux

Установка CentOS 7 в Hyper-V

Установка CentOS 7 Minimal

Еженедельный дайджест

Как настроить SSH вход без пароля

4 минуты чтения

SSH (Secure Shell) обеспечивает безопасное удаленное соединение между двумя системами. С помощью этого криптографического протокола вы можете управлять машинами, копировать или перемещать файлы на удаленном сервере через зашифрованные каналы.

Обучайся в Merion Academy

Пройди курс по сетевым технологиям

Начать

Существует два способа входа в удаленную систему через 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 без пароля. Инструкции в этой статье должны помочь вам в этом.

Читайте также:  Что блокирует работу windows

Как подключиться к серверу по SSH с помощью пароля или ключа

SSH — зашифрованный протокол для удаленного управления серверами. Для подключения через него вы можете каждый раз вводить пароль или настроить авторизацию по ключу. Второй вариант безопаснее, но у него есть свои особенности. В этой статье мы рассмотрим оба метода подключения, а вы уже сами выберите, какой способ удобнее.

Проверка службы SSH на сервере

Доступ по SSH обычно можно включить при создании сервера или во время настройки конфигурации. Убедиться в том, что он разрешен, можно через консоль. Она доступна в панели управления сервером.

Например, у меня VDS на Timeweb. Чтобы попасть в консоль, я авторизуюсь по логину и паролю, выданному хостером, выбираю свой сервер в списке VDS и перехожу на вкладку «Консоль».

Чтобы пользоваться консолью, нужно авторизоваться. Логин и пароль для доступа к серверу хостер присылает в письме. Сначала нужно ввести логин и нажать на клавишу Enter. Появится строка Password. В ней необходимо ввести пароль и снова нажать на клавишу Enter.

Важно: в целях безопасности при вводе пароля на экране не отображаются никакие символы, даже привычные звездочки.

После авторизации в консоли можно проверить, запущена ли служба SSH на сервере.

  1. Выполните команду systemctl status sshd.
  2. Обратите внимание на строчку Active. В ней должна быть выделенная зеленым запись active (running). Это состояние говорит о том, что служба запущена.

Если служба не активна, добавьте ее самостоятельно. Выполните команду sudo apt install openssh-server и подтвердите установку пакетов.

Кроме того, для подключения вам может понадобиться настройка брандмауэра. Чтобы межсетевой экран не блокировал входящие соединения, можно на время отключить его командой sudo ufw disable.

Использование пароля

Начнем с инструкции о том, как подключиться к удаленному серверу через SSH по логину и паролю. Это самый простой способ. Хостер предоставляет вам IP-адрес, логин и пароль. Этого достаточно для того, чтобы установить соединение с удаленным сервером.

Подключение на Windows

Моя основная система — Windows. Раньше для подключения к серверу через SSH я пользовался сторонней утилитой PuTTY, потому что в операционной системе не было встроенного компонента. В «десятке» он появился, так что теперь можно подключаться к SSH через командную строку (cmd).

Чтобы включить встроенный в систему OpenSSH:

  1. Откройте «Параметры» (Win + I) и перейдите в раздел «Приложения».
  2. Выберите опцию «Управление дополнительными компонентами».
  3. Нажмите «Добавить компонент».
  4. Выберите в списке OpenSSH Client и нажмите «Установить».
  5. После завершения установки перезагрузите систему.

Теперь разберемся, как подключиться к SSH через cmd. Запустите командную строку и выполните запрос вида ssh root@185.104.114.90.

Значение root — логин для подключения, вы получили его в письме при создании сервера. 185.104.114.90 — IP-адрес сервера. Его можно посмотреть в панели управления сервером или в том же письме, которое прислал хостер. У команды может быть также дополнительный параметр -p, после которого прописывается номер порта. По умолчанию используется порт 22. Если у вас настроен другой порт, нужно явно его указать, — например, полный адрес может выглядеть так: ssh root@185.104.114.90 -p 150.

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

На версиях младше Windows 10 1809 нет встроенной поддержки протокола OpenSSH. В таком случае понадобится сторонняя утилита. Смотрим, как через PuTTY подключиться по SSH:

  1. Запустите PuTTY.
  2. На вкладке Session укажите Host Name (IP-адрес сервера), Port (по умолчанию 22, но если вы в конфигурации сервера указали другой порт, нужно задать его номер).
  3. Убедитесь, что тип соединения установлен SSH.
  4. Нажмите на кнопку Open, чтобы подключиться.

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

Подключение на Linux и macOS

Теперь посмотрим, как подключиться по SSH через терминал на Linux. Для этого не требуется установка дополнительных компонентов, все работает «из коробки».

  1. Запустите терминал. Обычно для этого используется сочетание клавиш Ctrl+Alt+T. Найти терминал также можно по пути «Главное меню» — «Приложения» — «Система».
  2. Выполните команду для подключения. Синтаксис такой же, как на Windows, — ssh root@ 185.104.114.90 . Если порт не стандартный, то нужно явно его указать: например, ssh root@ 185.104.114.90 -p 150. Вместо root вы указываете свое имя пользователя, а вместо 185.104.114.90 — IP-адрес своего сервера.
  3. Если хост и порт указаны верно, на следующем шаге появится запрос на ввод пароля. При первом подключении также будет предложение добавить новое устройство в список известных. Для этого введите yes и нажмите на клавишу Enter.
Читайте также:  Как настроить kali linux после установки

На этом подключение завершено. Теперь все команды, которые вы вводите в терминале, будут выполняться на удаленной машине.

Если IP-адрес или порт указаны неверно, то на экране появится сообщение об ошибке — Connection Refused. Это может также говорить о том, что доступ запрещен брандмауэром на удаленном сервере (если вы его не отключили). Чтобы разрешить подключение через SSH:

  • на сервере с Ubuntu/Debian выполните команду $ sudo ufw allow 22/tcp;
  • на сервере CentOS/Fedora выполните команду $ firewall-cmd —permanent —zone=public —add-port=22/tcp.

Цифра 22 в синтаксисе — номер порта. Если вы используете другой порт, то укажите его явно.

Если вы знаете как подключиться через SSH на Linux, то справитесь с этой задачей и на macOS. В операционной системе Apple тоже есть встроенный терминал. Синтаксис команды для подключения не меняется: ssh root@ 185.104.114.90 , где root — ваш логин, а 185.104.114.90 — IP-адрес сервера, с которым вы устанавливаете соединение.

Использование ключа

Ввод пароля для подключения через SSH — раздражающая процедура. У меня почти никогда не получалось ввести его правильно с первого раза. Поэтому я начал искать информацию о том, как подключиться к серверу через SSH без пароля. Простое и безопасное решение — использование ключа. Почему это безопаснее? Потому что пароль можно подобрать. Чтобы исключить такую вероятность, многие пользователи выбирают авторизацию с помощью ключа.

Суть процедуры в формировании двух ключей: публичного и приватного. Первый копируется на сервер, а второй остается на компьютере пользователя и не передается по сети. В таком случае пароль при подключении не требуется. Когда вы подключаетесь к серверу через SSH, публичный ключ взаимодействует с приватным и открывает доступ к удаленному управлению.

Генерирование ключа и подключение на Windows

Для удобства используем программу PuTTy. Вместе с ней устанавливается утилита PuTTYgen — в ней можно сгенерировать публичный и приватный ключи.

  1. Запустите программу PuTTYgen.
  2. Нажмите на кнопку Gengerate.
  3. Водите курсором мышки по рабочему столу, чтобы сгенерировать случайные значения ключей.
  4. Нажмите на кнопку Save private key, чтобы сохранить на жестком диске приватный ключ. Место хранения может быть любым — его нужно указать в параметрах PuTTY. Сделаем это позже.
  5. Скопируйте публичный ключ в буфер обмена (Ctrl + C) и закройте генератор ключей.

Теперь нужно перенести публичный ключ на сервер. Запустите программу PuTTY и подключитесь к серверу с помощью пароля. Затем последовательно введите следующие команды:

Эти команды создают на сервере папку и файл для хранения ключей, а также ограничивают к ним доступ — получить его может только владелец.

Следующий шаг — вставка публичного ключа из буфера обмена в файл authorized_keys. Для этого используется команда cat > .ssh/authorized_keys. После ввода команды щелкните по окну терминала правой кнопкой, чтобы вставить скопированный ранее публичный ключ. Для завершения ввода нажмите на сочетание клавиш Ctrl+D.

Вернитесь в настройки PuTTY. Перейдите в раздел Connection — SSH — Auth. Нажмите на кнопку Browse и укажите путь к приватному ключу, который вы ранее сохранили на жестком диске.

Теперь для подключения к серверу через SSH пароль не нужен — достаточно указать логин и IP-адрес сервера.

Генерирование ключа и подключение на Linux и macOS

Теперь посмотрим, как подключиться через SSH ключи на Linux и macOS.

  1. Запустите терминал на локальном компьютере.
  2. Выполните команду ssh-keygen, чтобы сгенерировать ключи.
  3. Нажмите на Enter, чтобы сохранить ключи.

Генератор предложит также задать кодовую фразу для ключа. Это дополнительная мера безопасности: если кто-то получит доступ к вашей локальной машине, то все равно не сможет подключиться к серверу через SSH. Минус один — вам тоже придется постоянно вводить ключевую фразу. Можно отказаться от этой меры защиты, просто нажав на клавишу Enter.

На этом процедура создания ключей завершена. Файлы d_rsa (приватный ключ) и id_rsa.pub (публичный ключ) хранятся в папке

/.ssh/. Осталось скопировать открытую часть ключа на сервер.

  1. Вернитесь в терминал.
  2. Выполните команду ssh-copy-id root @ 185.104.114.90 , где root — логин для подключения к серверу по SSH, а 185.104.114.90 — IP-адрес или хост сервера.

После выполнения этой команды публичный ключ будет скопирован на сервер. Теперь вы можете подключаться к удаленной машине с помощью логина и IP-адреса — например, ssh root @ 185.104.114.90 . Ключи будут сопоставляться автоматически.

Отключение запроса пароля

Суть приватных ключей в том, что они хранятся на локальных компьютерах. Если вы попытаетесь подключиться к серверу с другой машины, на которой нет ключа, то снова увидите запрос на ввод пароля. Чтобы авторизоваться можно было только по ключу, запретите использование пароля.

  1. Подключитесь к удаленному серверу.
  2. Выполните команду sudo nano /etc/ssh/sshd_config. Файл sshd_config откроется во встроенном текстовом редакторе.
  3. Найдите строку PasswordAuthentication yes и измените ее на PasswordAuthentication no.
  4. Сохраните изменения и перезапустите службу SSH командой sudo service ssh restart.

Авторизация по паролю отключена. Теперь подключиться к серверу можно только с помощью пары ключей.

Оцените статью