Как подключиться к centos 7 по ssh через putty

Обновлено: 04.07.2024

Если вы читаете эту статью, то, скорее всего, отлично понимаете, зачем вам нужен веб-сервер и останавливаться на этом я не буду. Но и просто описать, как происходит установка CentOS 7 и как настроить окружение, мне показалось неинтересным. Поэтому мы возьмем Windows, VirtualBox и будем настраивать веб-сервер в виртуальной машине, в виртуальной сети. Параллельной задачей, кроме как разобраться с установкой и настройкой веб-сервера на Linux, будем создавать удобную среду на подобии OpenServer или Denwer, но со всеми преимуществами полноценного nix-сервера.

Содержание

Что нам понадобится

Создаем контейнер виртуальной машины для CentOS в VirtualBox

Качаем последнюю версию VirtualBox по ссылке выше и устанавливаем. Если у вас уже стоит VirtualBox, убедитесь, что версия не ниже 5.0.12, т.к. в младших версиях с CentOS наблюдается ряд проблем (подробнее можете почитать в примечаниях к выпуску Centos 7).

Запускаем VirtualBox, заходим в настройки и смотрим конфигурацию виртуальной сети:

Конфигурация виртуальной сети в VirtualBox

Ок, сеть 192.168.56.0/24, DHCP раздает адреса со 101 по 254. Запомним эту информацию.

Контейнер для виртуальной машины создан. Немного подкорректируем настройки:

Установка Centos 7

Запуск установщика CentOS 7

Настройка локализации и даты/времени

Выбираем профиль безопасности

Выбор диска для установки и отключение kdump

Переходим к группе SYSTEM.

Настройка сети

Отключаем IPv6

Пароль root и пользователь для работы

Устанавливаем пароль root

Пока идет установка зададим пароль администратора.

Установка CentOS 7 завершена

Теперь осталось немного подождать, пока установятся все пакеты и по завершении нажать кнопку Reboot. Поздравляю, установка CentOS 7 завершена.

Запуск виртуальной машины с CentOS 7

Три способа запуска виртуальной машины

Запуск виртуальной машины в VirtualBox возможен в трех режимах:

Запуск в фоне конечно очень удобен, но отсутствие всякой индикации о состоянии виртуальной машины или просто о факте такого запуска весьма напрягает. Но мир не без добрых людей и тут нам поможем утилитка VBoxHeadlessTray. Она запускает выбранную виртуалку в фоновом режиме и помещает в трей иконку.

Нажав по иконке правой кнопкой увидим меню, с помощью которого можно управлять запущенной виртуальной машиной. Согласитесь, так это делать намного удобнее.

Подключении по ssh с помощью putty

Итак у нас есть пустой сервер с CentOS 7 и пора его превратить в полноценный…

Не смотря на то, что Microsoft делает все возможное, что бы Skype стал как можно…

VMware Tools - набор специализированного программного обеспечения, который значительно повышает производительность и обеспечивает дополнительные возможности…

Настройка SSH в CentOS 7

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

Установка компонентов и запуск сервера

Мы уже сказали, что SSH по умолчанию добавлен в список системных библиотек CentOS 7, но иногда по некоторым причинам необходимые компоненты отсутствуют на компьютере. В таком случае их потребуется добавить, а затем активировать работу сервера.

Установка сервера и клиента SSH в CentOS 7 через терминал

Ввод пароля для установки компонентов SSH в CentOS 7 через терминал

Первая команда для активации сервиса SSH в CentOS 7

Вторая команда для активации сервиса SSH в CentOS 7

Проверка работоспособности порта протокола SSH в CentOS 7

После успешного произведения указанных выше инструкций можно смело переходить к началу конфигурации. Хотим обратить ваше внимание, что обязательно следует читать показанные на экране уведомления во время активации команд. Они могут свидетельствовать о возникновении определенных ошибок. Своевременное исправление всех неполадок поможет избежать дальнейших проблем.

Редактирование конфигурационного файла

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

    Советуем использовать редактор nano, установить который в систему поможет команда sudo yum install nano . По завершении инсталляции запустите конфигурационный файл через sudo nano /etc/ssh/sshd_config .

Переход к конфигурационному файлу SSH в CentOS 7

Редактирование конфигурационного файла SSH в CentOS 7

Перезапись конфигурационного файла SSH в CentOS 7

Выход из редактирования конфигурационного файла SSH в CentOS 7

Перезапуск сервисов SSH в CentOS 7

Проверка статуса работоспособности сервера SSH в CentOS 7

Создание пары RSA-ключей

Криптографический алгоритм RSA (аббревиатура от фамилий Rivest, Shamir и Adleman) используется сервисом SSH для создания пары ключей. Такое действие позволить максимально обезопасить клиентскую и серверную часть при проведении соединений. Задействовать придется обе цепи, чтобы создать пару ключей.

    Для начала зайдите на клиентский компьютер и введите в консоли ssh-keygen .

Создание пары ключей для клиента в утилите SSH в CentOS 7

Выбрать файл для расположения пары ключей клиента SSH в CentOS 7

Ввод парольной фразы для пары ключей утилиты SSH в CentOS 7

Успешное создание пары ключей для утилиты SSH в CentOS 7

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

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

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

Утилита ssh-copy-id

Копирование ключей с помощью специальной утилиты SSH в CentOS 7

The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)?

Оно обозначает, что сервер не находится в списке надежных источников и будет задан вопрос, стоит ли проводить дальнейшее подключение. Выберите вариант yes .

Подтверждение первого входа на удаленный компьютер SSH в CentOS 7

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

Ввода пароля для удаленного входа на компьютер SSH в CentOS 7

Копирование открытого ключа по SSH

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

    Команда cat позволит считать и сразу же добавить ключ в файл на серверном компьютере. Для этого просто введите cat

/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p

Автоматическое копирование ключей через подключение SSH в CentOS 7

Выбрать место сохранения скопированных ключей SSH в CentOS 7

Ручное копирование открытого ключа

Иногда случаются ситуации, когда невозможно использовать утилиту ssh-copy-id, а также отсутствует доступ по паролю. Тогда копирование осуществляется вручную.

    Сперва узнайте этот ключ через уже знакомую команду cat, введя в консоли cat

Узнать содержимое файла с ключами в терминале SSH в CentOS 7

Ознакомиться с созданным открытым ключом SSH в CentOS 7

Создать папку для хранения открытого ключа SSH в CentOS 7

Скопировать открытый ключ на удаленный компьютер SSH в CentOS 7

На этом процедура копирования ключа успешно завершена. Благодаря этому теперь доступна аутентификация к серверу путем ввода ssh username@remote_host . Однако подключиться можно и через пароль, что понижает безопасность такой сети.

Отключение аутентификации по паролю

Отключение возможности входа по паролю, в обход ключа, делает такое удаленное соединение менее защищенным. Поэтому рекомендуется деактивировать эту функцию для предотвращения несанкционированной аутентификации со стороны злоумышленников.

    На удаленном сервере запустите конфигурационный файл SSH через sudo nano /etc/ssh/sshd_config .

Открыть конфигурационный файл для редактирования SSH в CentOS 7

Отключить вход по паролю для SSH в CentOS 7

Сохранить изменения конфигурационного файла SSH в CentOS 7

Перезапустить сервис после изменений конфигурации SSH в CentOS 7

На этом статья, в которой вы были ознакомлены с основными конфигурационными моментами протокола SSH, подходит к концу. Настоятельно рекомендуем изучить содержимое выдачи после активации команд, поскольку там иногда содержатся описания ошибок. Их решение ищите в официальной документации инструмента или дистрибутива CentOS.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

SSH авторизация по ключу через PuTTY

На сегодняшний день набирает обороты практика аутентификации к SSH-серверу по ключу, в этом есть несколько преимуществ:

  • Удобство в использовании. У вас может быть несколько серверов и один ключ, не нужно всякий раз вводить пароль от нужного сервера, что сэкономит время.
  • Это безопасно. Вы сможете отключить аутентификацию по паролю и ssh будет защищён от брутфорса.

В это статье мы настроим SSH авторизации на сервере CentOS 7 по ключу, и настроем подключение через ключ утилиту PuTTY.

Генерация ключа

Для генерации ключа будем использовать утилиту PuTTYgen. После запуска выбираем тип ключа для генерации - SSH-2 RSA, и длину ключа - 2048 бит. После чего нажимаем Generate и крутим мышкой по окну пока не закончится генерация ключа.

PuTTYgen

  • Key comment - комментарий к ключу.
  • Key passphrase - парольная фраза к приватному ключу. (Не обязательно к заполнению)
  • Confirm passphrase — подтверждение парольной фразы.

Если вы хотите обезопасить себя по максимальному вы можете задать пароль для защиты приватного ключа в полях Key Passphrase и Confirm Passphrase. Но при каждом входе у вас будет запрашивать пароль который вы ввели. Это обезопасит вас если ваш приватный ключ будет похищен.

Далее сохраняем public key и private key. Приватный ключ мы будем использовать для подключения к серверу, а вот публичный ключ надо будет передать на удаленный сервер которому мы будем подключаться.

Обратите внимания на то как был сгенерирован ваш публичный ключ.

Лично у меня он был сгенерирован не совсем верно, вот пример public_key в дальнейшем при подключении через PuTTY с таким ключом могут возникнуть ошибка Server refused our key.

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

Установка публичного ключа на сервере

Далее необходимо скопировать наш публичный ключ на сервер. Мы воспользуемся для передачи на сервер ключа утилитой PSFTP, но вам ничего не мешает его передать через любой FTP клиент.

PSFTP

Ключ с копировался, теперь нужно добавить его в

/.ssh/authorized_keys. Далее логинемся еще раз по паролю, через PuTTY и выполняем:

Далее нужно проверить настройки нашего SSH сервера, сами настройки лежат в файле /etc/ssh/sshd_config:

Теперь нам надо будет перезапустить SSH сервер:

Теперь мы можем подключиться к серверу по ключу или паролю.

Но мы можем вообще запретить подключатся к SSH серверу по паролю указав в файле /etc/ssh/sshd_config.

После чего не забываем заново перезапустить SSH сервер.

Настройка и подключения PuTTY

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

Создаем новый сеанс пиши на IP Адрес к серверу.

PuTTY

Далее, мы выбираем меню категорию SSH и там выберем под категорию Auth

putty browse keys

В поле Private key file for authentication загружаем наш приватный ключ.

Далее переходим обратно в раздел Session и сохраняем нашу сессию для того чтобы следующий раз не заполнять все эти поля.

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

  • удаленного администрирования;
  • взаимодействия с VPS -серверами.
  • работы с Telnet-терминалами;
  • настройки маршрутизаторов через RS-232;

Работать рекомендуется через SSH, поскольку он обеспечивает высокий уровень безопасности соединения с другим компьютером. PuTTY поддерживает Telnet, реализующий текстовый интерфейс в терминале (только для отображения текстовой информации в режиме консоли).

Возможности программы

  • Сохранение информации и конфигурационных параметров для многократного применения.
  • Работа с SSH-ключами.
  • Поддержка разных версий SSH-протокола.
  • Встроенные клиенты SCP и SFTP, используемые для различных операций с файлами. Возможности первого ограничиваются только функцией копирования.
  • Перенаправление портов через протокол SSH.
  • Поддержка xterm, ECMA-48 и VT-102.
  • Возможность соединения по IPv6.
  • Работа с алгоритмами шифрования.
  • Аутентификация через ключ, который расположен на удаленной машине.
  • Соединение через proxy.
  • Использование порта RS-232.

Установка на Windows

Работа с программой

Интерфейс

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

  • Session позволяет задать параметры соединения, чтобы подключиться к серверу (IP-адрес, протокол и порт), а также сохранить настройки для многократного использования.
  • Terminal : режим активации или деактивации терминала.
  • Window : установка кодировки и изменение интерфейса.
  • Connection отвечает за выбор шифрования, аутентификацию без ввода пароля и т. д.

Соединение с удаленным сервером

Принцип подключения не зависит от операционной системы. Это могут быть разные версии Windows (7, 10) или популярные дистрибутивы на основе Linux — Ubuntu, CentOS, Debian.

Подключиться по SSH через PuTTY просто. Для этого нужно следовать приведенной ниже инструкции.

Соединение с удаленным сервером PuTTY

  1. Ввести IP-адрес или имя хоста, к которому необходимо подключиться.
  2. Указать порт (по умолчанию везде 22).
  3. Выбрать тип соединения SSH.
  4. Ввести название подключения и сохранить его, нажав кнопку «Save».
  5. Активировать соединение, нажав на «Open».
  6. Указать данные для авторизации (логин и пароль).

После этого работа с терминалом осуществляется, как на локальном компьютере. Чтобы узнать информацию о версии Ubuntu, нужно ввести команду:

Соединение с удаленным сервером PuTTY

Для удобства можно создать жесткую ссылку (ярлык) на программу для быстрого запуска.

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

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

Для примера, продемонстрируем ниже, как подключиться через PuTTY , установленного в Windows 10, при помощи SSH-ключа к серверу на Ubuntu.

Шаг №1

Для начала, нужно выполнить ряд действий на компьютере с ОС Windows.

Шаг №2

Далее необходимо перенести SSH-ключ на сервер Ubuntu, выполнив перечисленные ниже действия.

Шаг №3

Возвращаемся к программе PuTTY на Windows 10.

Работа с файлами

Программа позволяет делать операции с файлами. Чтобы закачать файл на сервер , находящийся под управлением Linux Ubuntu (с компьютера на ОС Windows), нужно действовать по приведенной ниже инструкции.

  1. Сохранить тестовый файл « mydoc.txt » на диске C:\ вместе с исполняемым файлом для безопасного копирования — pscp.exe.
  2. Открыть командную строку Windows: « Win+R → cmd → Enter ».
  3. Зайти в папку с программой pscp.exe, для чего ввести команду : « cd /d c:\Putty\pscp.exe » * , где « c:\Putty\ » — путь к файлу pscp.exe.
    * Путь к файлу «c:\Putty\pscp.exe» приведен в качестве примера.
  4. Далее можно приступать непосредственно к работе с файлом. Например, п ередать файл « mydoc.txt » на сервер « 192.241.7.16 » * со стандартным портом и пользователем Ubuntu74 в папку « root » можно командой:
    * IP-адрес «192.241.7.16» приведен только в качестве примера.

Если для соединения используется нестандартный порт (например, 25), то команда примет вид:

Чтобы объединить файлы , нужно их загрузить на удаленную машину, а затем выполнить команду « sudo cat mydoc1.txt mydoc2.txt > mydoc.txt ».

Распространенные ошибки

Проблемы с аутентификацией

Распространенные ошибки PuTTY

Если соединение с удаленным сервером происходит при помощи SSH-ключа, то PuTTY выдаст в диалоговом окне такие строки:

Permission denied (publickey).
PuTTY Error output

Причины ошибки

Ошибка « Access denied » связана с некорректной аутентификацией на основе ключей. Вызвать ее может отсутствие соответствующих прав доступа к файлам или невозможность подтвердить права владельца.

Как решить

  1. Проверить параметры аутентификации (логин и пароль).
  2. Проверить наличие и правильность имени SSH-ключа в PuTTY.
  3. Выполнить проверку содержимого кода SSH-ключа в « authorized_keys ».

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

  1. Перейти в папку « /etc/ssh/ », а затем открыть файл « sshd_config ».
  2. Далее необходимо найти строки « PasswordAuthentication: YES » и « PermiRootLogin: NO ». Значения переменных требуется поменять на противоположные значения, т. е. « PasswordAuthentication: NO » и « PermiRootLogin: YES ».
  3. После сохранения изменений необходимо перезапустить PuTTY и соединиться с удаленным сервером.

Подробнее о том, как создать удаленное соединение для разных дистрибутивов Linux, можно узнать из отдельных руководств:

Ошибка подключения

Причины ошибки

  • Отсутствие сетевого подключения.
  • Неверно указан IP-адрес.
  • Порт не поддерживается или его значение задано неверно.
  • Блокировка исходящего подключения антивирусом или брандмауэром.

Как решить

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

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

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

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

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

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

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

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

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

Служба SSH работает

Если служба не активна, добавьте ее самостоятельно. Выполните команду 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. После завершения установки перезагрузите систему.

Клиент OpenSSH на Windows

Теперь разберемся, как подключиться к 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, чтобы подключиться.

SSH в программе PuTTY

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

Подключение на 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.

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

  • на сервере с 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-адрес сервера, с которым вы устанавливаете соединение.

Читайте также: