Подключение к windows по ssh с помощью встроенного openssh

Подключение к виртуальному серверу по ssh и sftp

Заключительные замечания

Приведенный выше список лучшего программного обеспечения SSH для Windows ни в коем случае не является исчерпывающим. Существуют и другие хорошие SSH-клиенты, такие как XShell (платный), Bitvise SSH Client (бесплатный для индивидуального использования) и TeraTerm (бесплатный), которые могут быть сопоставимы. Также помните, что приведенный выше список ориентирован на пользователей домашнего сервера или медиацентра для выполнения базовых административных задач, а не на бизнес-среду. Некоторые из медиаплееров Android могут даже администрироваться с использованием SSH с установленным приложением сервера SSH. Как упоминалось в статье, я использовал и любил PuTTY, но перешел на MobaXterm и был очень счастлив. Для многих это будет вопросом личных предпочтений. Но я надеюсь, что этот список лучших клиентов SSH суммирует несколько вариантов на выбор.

Источник записи: https://www.smarthomebeginner.com

Настройка SSH сервера в Windows

После уставной сервера OpenSSH в Windows вам нужно изменить тип запуска службы sshd на автоматический и запустить службу с помощью PowerShell:

С помощью nestat убедитесь, что теперь в системе запущен SSH сервер и ждет подключений на 22 порту:

Проверьте, что включено правило брандмауэра (Windows Defender Firewall), разрешающее входящие подключения к Windows по порту TCP/22.

Name DisplayName Description Enabled ---- ----------- ----------- ------- OpenSSH-Server-In-TCP OpenSSH SSH Server (sshd) Inbound rule for OpenSSH SSH Server (sshd) True

Если правило отключено (состоянии Enabled=False) или отсутствует, вы можете создать новое входящее правило командой New-NetFirewallRule:

По умолчанию важным компоненты OpenSSH хранятся в следующих каталогах:

  • Исполняемые файлы OpenSSH Server:
  • Конфигурационный файл sshd_config (создается после первого запуска службы):
  • Журнал OpenSSH:
  • Файл authorized_keys и ключи:

При установке OpenSSH сервера в системе создается новый локальный пользователь sshd.

Подключение с Десктопного Linux

Если у вас Десктопный Linux, и вы хотите управлять сервером по ssh, то просто запустите эмулятор терминала и воспользуйтесь командой:

$ ssh [email protected]

В выводе увидите примерно следующее:

The authenticity of host '172.30.90.34 (172.30.90.34)' can't be established. ECDSA key fingerprint is SHA256:VrlVJg28+LrVa69peUUTNYVL/a53XOhLqMwkwTdPGmo.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.30.90.34' (ECDSA) to the list of known hosts.
[email protected]'s password: 

alex@ubu:~$

Здесь вам тоже придется подтвердить отпечаток сервера введя “yes“. Затем ввести пароль от пользователя alex и приглашение ввода команды изменится на alex@ubu:~$, что означает что теперь все команды будут выполнены на сервере ubu, от пользователя alex.

Настройка SSH

При изменении конфигурации SSH вы меняете настройки сервера sshd.

В Ubuntu основной файл конфигурации sshd находится в каталоге .

Выполните резервное копирование текущей версии этого файла перед началом редактирования:

Откройте файл в текстовом редакторе:

Скорее всего, вы захотите оставить большинство опций в этом файле без изменений

Однако существует несколько настроек, на которые вам стоит обратить особое внимание:. /etc/ssh/sshd_config

/etc/ssh/sshd_config

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

/etc/ssh/sshd_config

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

/etc/ssh/sshd_config

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

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

/etc/ssh/sshd_config

Эти параметры определяют некоторые данные для входа в систему.

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

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

определяет, разрешен ли вход с помощью пользователя с правами root.

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

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

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

/etc/ssh/sshd_config

Эти параметры используются для настройки такой возможности, как X11 Forwarding. X11 Forwarding позволяет просматривать графический пользовательский интерфейс (GUI) удаленной системы на локальной системе.

Эта функция должна быть активирована на сервере и передана клиенту SSH во время подключения с помощью опции .

После внесения изменений сохраните и закройте файл, введя , , а затем нажмите .

Если вы внесли изменения в какие-либо настройки в файле , необходимо перезапустить ваш сервер sshd, чтобы изменения вступили в силу:

Вы должны тщательно протестировать ваши изменения, чтобы убедиться, что все работает так, как вы ожидаете.

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

Как использовать команду ssh

Следующие требования должны быть выполнены, чтобы иметь возможность войти на удаленный компьютер через SSH:

  • На удаленном компьютере должен быть запущен SSH-сервер.
  • Порт SSH должен быть открыт в брандмауэре удаленного компьютера.
  • Вы должны знать имя пользователя и пароль удаленной учетной записи. Учетная запись должна иметь соответствующие права для удаленного входа в систему.

Основной синтаксис команды следующий:

Чтобы использовать команду , откройте свой терминал или PowerShell и введите а затем имя удаленного хоста:

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

У каждого хоста есть уникальный отпечаток, который хранится в файле .

Введите чтобы сохранить удаленный отпечаток пальца, и вам будет предложено ввести пароль.

После ввода пароля вы войдете в удаленную машину.

Если имя пользователя не указано, команда использует текущее имя для входа в систему.

Чтобы войти в систему как другой пользователь, укажите имя пользователя и хост в следующем формате:

Имя пользователя также можно указать с помощью опции :

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

Чтобы подключиться к порту, от порта по умолчанию, используйте параметр чтобы указать порт:

Если у вас возникли проблемы с аутентификацией или подключением, используйте параметр чтобы указать печатать отладочные сообщения:

Чтобы повысить уровень детализации, используйте или .

Команда принимает ряд параметров.

Для получения полного списка всех параметров прочтите страницу руководства по , набрав в терминале .

Скачиваем Putty SSH-клиент

PuTTY чаще всего используется в Windows, однако он также подходит для Linux и Mac. Ниже мы покажем, как скачать PuTTY в разных операционных системах.

Windows

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

Linux

Большинство людей используют предустановленный в Linux клиент OpenSSH. PuTTY в Linux преимущественно используется для отладки, подключения к последовательным портам и необработанным сокетам.

В Debian используйте следующую команду:

sudo aptitude install putty

Затем следует команда установки инструментов:

sudo aptitude install putty-tools

MacOS

Как и Linux, в macOS уже установлен SSH-клиент командной строки. Чтобы загрузить PuTTY, откройте окно терминала и используйте команды ниже.

Чтобы установить PuTTY для Mac:

brew install putty (or) port install putty

Что такое SSH

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

SSH (аббревиатура от Secure Socket Shell) — это сетевой протокол, используемый для установления безопасного сетевого соединения.

При доступе по SSH протоколу выполняется 3 простых шага:

  1. открытие защищённого канала,
  2. аутентификация пользователя,
  3. подключение к удалённому серверу.

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

Как подключиться по SSH

Для подключения по SSH нам необходимо знать такие данные:

Больше ничего не нужно, обычно эти данные присылают в письме вместе с описанием VPS. Теперь перейдем к практике.

1. Подключение через SSH в Linux

В Linux подключение по SSH выполняется с помощью утилиты ssh. Мы более подробно рассматривали работу с ней в статье как пользоваться ssh. Для подключения к удаленному компьютеру ее синтаксис будет выглядеть следующим образом:

$ ssh имя_пользователя @ айпи_адрес

Чтобы выполнить подключение по SSH Linux нажмите Ctrl+Alt+T для открытия терминала и наберите команду, заменив нужные значения:

Или, с нестандартным портом:

Если ip_адрес и порт правильные, то на следующем шаге программа попросит у вас ввести пароль:

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

Теперь вы подключены, и все вводимые далее команды будут выполнены на удаленном сервере:

Если же произошла ошибка и IP адрес или порт введены неверно, то вы получите ошибку Connection Refused:

Просто убедитесь что порт введен верно. Если это ваш сервер, то, возможно на нем еще нужно разрешить подключение SSH в брандмауэре. В Ubuntu/Debian для этого на удаленном сервере выполните:

sudo ufw allow 22/tcp

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

Теперь вы знаете как подключиться по ssh linux и решить проблемы с подключением. А теперь перейдем к Windows.

2. Подключение через SSH в Windows

Затем выберите Управление дополнительными компонентами:

Здесь нажмите добавить новый компонент и в открывлемся меню выберите OpenSSH Client и нажмите Устанвоить:

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

После перезагрузки нажмите Win+R чтобы открыть окно запуска команд и наберите в нем cmd:

Далее нажмите Enter. Перед вами откроется командная строка Windows. Здесь можно использовать утилиту ssh. Синтаксис у нее абсолютно такой же, как и для Linux:

Например, такой командой можно подключится по SSH к Raspberry Pi, который находится в вашей локальной сети по адресу 192.168.1.5:

Утилита предложит добавить устройство в список известных:

Затем предложит ввести пароль:

Все следующие команды будут выполняться уже на Raspberry Pi или другой удаленной машине, к которой вы подключились.

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

Как подключиться к Linux из Windows

В мире ИТ существует уже довольно широкий спектр операционных систем, начиная с серверных, заканчивая операционными системами для мобильных устройств. В обычных пользовательских компьютерах и в серверах довольно часто используются две ОС — Linux и Windows. Поэтому очень часто возникают ситуации, когда приходится подключаться по сети из одной операционной системы к другой для выполнения разнообразных операций.

Видео: Доступ к Ubuntu на VirtualBox через PuTTY терминал (способ 1)Скачать

Видео: Подключение по SSH в WindowsСкачать

В этой статье мы рассмотрим варианты подключения к Linux из Windows. Существуют бесплатные и условно бесплатные утилиты вроде AnyDesk или TeamViewer, но установка их довольно тривиальна и не нуждается в дополнительном пояснении. Утилиты подобного рода обладают рядом ограничений при бесплатном некоммерческом использовании, либо их функциональность не удовлетворяет тем или иным потребностям пользователя. Мы рассмотрим полностью бесплатные способы как подключится к Linux из Windows.

Настройка клиента ssh

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

После ввода этой команды появится запрос на имя файла для ключей.
А после ввода имени ключа запрос на passphrase — фразу для шифрования ключа. Ее нужно будет вводить каждый раз, когда вы обращаетесь к этому ключу. Для реальных серверов очень рекомендуется использовать сложную фразу. Для серверов, находящихся в локальной сети, к которым нет доступа из интернета можно не использовать и оставить пустой — просто нажать Enter.

Важно обратить внимание: стандартное имя id_rsa и id_rsa_pub
Эти стандартные файлы ssh пытается открыть каждый раз, когда мы устанавливаем новое соединение с сервером. Если мы хотим создать несколько ключей для нескольких серверов, нам нужно изменить имя ключа. Например, используем

Мы получили 2 файла

Например, используем . Мы получили 2 файла

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

И вносим в него информацию о сервере и имени файла ключа

Теперь для этих хостов ssh будет открывать указанные файлы ключа. А для всех остальных будет искать ключь в id_rsa.

Мы можем упроситить себе подключение к серверу, например, добавив в файл config не только файл ключей, но и другую информацию. Можем создать никнейм для сервера, чтобы не набирать его ip каждый раз вручную. Например:

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

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

Но, для того чтобы подключиться к серверу по SSH с использованием ключей, эти ключи нужно сначала сгенерировать. Для этого понадобится программа PuTTYgen (PuTTY Key Generator), которая устанавливается в систему вместе с программой PuTTY. Для генерации ключей запускаем PuTTYgen, выбираем тип ключей «RSA» и нажимаем на кнопку «Generate». После этого нужно подвигать мышкой в окне программы PuTTYgen для того, чтобы создать случайные данные, которые будут использованы для создания ключей.

Обратите внимание, если у вас уже есть ключ, который был сгенерирован с помощью OpenSSH, то вы можете загрузить его в программу PuTTYgen и сконвертировать в формат понятный программе PuTTY

После того как ключи будут созданы, приватный ключ нужно сохранить на диск с помощью кнопки «Save private key». При этом приватный ключ можно дополнительно защитить с помощью ключевой фразы, которую нужно ввести в поле «Key passphrase», хотя это не обязательно.

Что касается публичного ключа, то его нужно скопировать в буфер обмена. Также его можно сохранить на диск с помощью кнопки «Save public key». В дальнейшем этот файл пригодится для настройки других серверов.

Теперь нужно записать публичный ключ на сервер, в конец файла «authorized_keys» в папке «.ssh» в вашей домашней директории. Для этого подключитесь к серверу по SSH с помощью PuTTY используя логин и пароль. После этого откройте папку «.ssh» в вашей домашней директории:

cd ~/.ssh

Дальше необходимо записать ранее созданный публичный ключ в конец файла «authorized_keys». Если такой файл отсутствует, то его нужно создать. Это можно сделать при помощи команды «cat». Для этого нужно выполнить следующую команду:

cat > authorized_keys

После выполнения данной команды вставляем публичный ключ из буфера обмена (правая кнопка мышки) и сохраняем файл нажатием Ctrl-D.

Также вы можете создать и отредактировать файл «authorized_keys» с помощью текстового редактора. Например, в Ubuntu можно использовать программу Nano.  Для этого нужно выполнить команду:

nano ~/.ssh/authorized_keys

Более подробно о создании текстовых файлов можно почитать в отдельной статье «Как создать текстовый файл через терминал».

После того как публичный ключ был скопирован на сервер, вы можете использовать оставшийся приватный ключ для подключения к серверу по SSH. Для этого запустите программу PuTTY и введите IP адрес и порт в разделе «Session».

После этого перейдите в раздел «Connection – SSH – Auth» и укажите путь к приватному ключу, который был сгенерирован и сохранен с помощью программы PuTTYgen. Когда все будет готово можно запускать подключение с помощью кнопки «Open».

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

После завершения настройки подключения с помощью ключей, вход по паролю в целях безопасности нужно отключить. Для этого на сервере нужно открыть файл «/etc/ssh/sshd_config», установить значение «PasswordAuthentication no» и перезапустить службу «sshd» с помощью команды «systemctl restart ssh».

Подключение к виртуальному серверу по SFTP

Мы не рекомендуем клиентам Clodo использовать для передачи файлов на виртуальный сервер устаревший протокол FTP. Мы рекомендуем использовать более новый и безопасный протокол SFTP – протокол передачи данных поверх безопасного соединения по протоколу SSH. У протокола SFTP много плюсов:

Шифрование обеспечивает практически полную безопасность обмена данными с сервером
Нет необходимости в дополнительном ПО на виртуальном сервере, в состав сервера OpenSSH уже входит SFTP-сервер.
В любом из представленных на Clodo дистрибутивов не нужно ничего настраивать, всё работает «из коробки»
Если Вы просто не можете жить без дополнительных настроек, то гибкость настройки SFTP сервера Вас поразит!
При работе через SFTP, пользователи будут иметь те же права, что и на сервере, то есть, опять же, нет необходимости в дополнительной настройке.
В общем плюсы можно перечислять бесконечно.

В этом руководстве мы кратко рассмотрим возможности популярных клиентов по работе с SFTP протоколом

Next Step

I hope this article helped you use SSH on Windows. You might also want to protect SSH service from hacking, I recommend setting up public-key authentication or two-factor authentication.

  • 2 Simple Steps to Set up Passwordless SSH Login on Ubuntu
  • Set Up SSH Two-Factor Authentication (2FA) on Ubuntu Server

Also, you can enable automatic security updates on your Linux server to patch vulnerabilities.

Set Up Automatic Security Update (Unattended Upgrades) on Ubuntu

If you want FTP access to the Ubuntu server, you can set up pure-FTPd server.

How to Set Up a Secure FTP Server with Pure-FTPd on Ubuntu

As always, if you found this post useful, then subscribe to our free newsletter to get more tips and tricks. Take care

Как подключиться по SSH из Windows 10

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

В этой инструкции мы рассмотрим процесс подключения к SSH из Windows 10. Первый способ будет актуален для Windows 10 версии 1809 и выше, а второй можно использовать как на Windows 10, так и на Windows 7.

Подключение по SSH с помощью OpenSSH

Раньше для подключения к Linux серверу по SSH из Windows компьютера требовалась установка программы PuTTy или какого-то другого SSH-клиента. Но, в операционной системе Windows 10 (начиная с версии 1809 ) доступен клиент OpenSSH, с помощью которого можно подключаться к Linux серверам по SSH. Это позволяет работать с терминалом Linux прямо из командной строки Windows 10, при этом не требуется установка никаких сторонних программ.

Перед тем как использовать данный способ подключения необходимо проверить версию Windows 10. Для этого нажмите комбинацию клавиш Win-R и выполните команду « winver ». Если на вашем компьютере установлена Windows 10 с версией 1809 или выше, то все нормально, в противном случае сначала нужно выполнить обновление.

Также нужно открыть меню « Параметры » и зайти в раздел « Приложения – Дополнительные возможности ».

Здесь нужно пролистать список установленных дополнительных компонентов и найти в нем « Клиент OpenSSH ». Если такой компонент присутствует, значит все нормально и можно переходить к следующему шагу. Если нет, то его нужно сначала установить с помощью меню « Добавить компонент ».

Обратите внимание, не нужно путать « Клиент OpenSSH » и « Сервер OpenSSH ». Для подключения по SSH вам нужен именно клиент

Также клиент OpenSSH можно установить с помощью PowerShell. Для этого запустите консоль PowerShell с правами администратора и выполните следующую команду:

Более подробно об установке и удалении клиента OpenSSH можно почитать в официальной документации Майкрософт.

Если версия Windows 10 подходящая и клиент OpenSSH установлен, то можно начинать подключение по SSH. Для этого запустите обычную командную строку Windows и введите команду « ssh ». В ответ вы должны получить информацию о работе с данной командой.

В общем случае синтаксис команды « ssh » выглядит следующем образом:

Где « user » — это имя пользователя на удаленном сервере, а « server » — это имя компьютера или его ip адрес.

Например, если наш сервер доступен по ip адресу « 192.168.1.214 », а имя пользователя это « aleks », то команда для подключения будет выглядеть так:

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

По умолчанию для SSH используется порт 22. Для того чтобы это изменить нужно использовать параметр « -p ». Например, для подключения по порту 2222 нужно выполнить вот такую команду.

Если подключение предполагает использование ключей, то они должны находиться в папке « C:\Users\user\.ssh ». А при подключении путь к приватному ключу нужно указать с помощью параметра « -i ». Например, чтобы использовать ключ « C:\Users\stepu\.ssh\id_rsa » нужно выполнить:

Более подробную информацию о команде « ssh » и ее параметрам можно получить на сайте man.openbsd.org/ssh или на opennet.ru (перевод).

Подключение по SSH через PuTTY

В тех случаях, когда версия Windows 10 не поддерживает OpenSSH (или используется Windows 7) к SSH можно подключаться с помощью программы PyTTY. Скачать установщик данной программы можно на официальном сайте www.putty.org.

После установки программы PyTTY ее можно будет запустить с помощью поиска в меню « Пуск »

Сразу после запуска программы PuTTY появляется окно с настройками подключения. Основными параметры здесь находятся на вкладке « Session », здесь нужно ввести:

  • Имя компьютера или IP адрес;
  • Порт для подключения (по умолчанию, 22);
  • Способ подключения (SSH);

После ввода этих данных можно запускать подключение с помощью кнопки « Open ».

Если для подключения к SSH используются ключи, то путь к приватному ключу нужно указать в разделе « Connection – SSH – Auth ».

Обратите внимание, ключ должен быть сгенерирован программой PuTTYgen, которая устанавливается вместе с PuTTY. Если вы сгенерировали ключи с помощью OpenSSH, то их можно загрузить в PuTTYgen и сохранить в формате подходящем для PuTTy

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

После ввода этих данных вы будете подключены к удаленному серверу по SSH.

Подключение по SSH

Подключение происходит с помощью команды
ssh + имя_пользователя + адрес хоста

Например

ssh [email protected]

Если вы подключаетесь к хосту впервые, появится предупреждение

The authenticity of host ‘192.168.56.101 (192.168.56.101)’ can’t be established.
ECDSA key fingerprint is SHA256:db8az/qbrWOJWvNRv2d9UHaDBnnUHanJ9Svca9vFx7c.
Are you sure you want to continue connecting (yes/no/)?

Если выбрать yes то в файл

добавится похожая строка:

|1|abcdef+abcdefghijklmnopqrst=|abcdefghijklmnopqrstuvwxyz1= ssh-rsa abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrst/abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz12345/abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzB1234567

Если у вас на хосте не было директории .ssh после первого подключения она
должна появится.

Логирование ssh подключений по сертификату

Мне необходимо знать, когда и какой сертификат подключался к серверу. По-умолчанию такой информации чаще всего в логах не остается. Исключение я заметил только в CentOS 7. Там с дефолтными настройками ssh и уровнем логирования INFO отображается отпечаток ключа в логе:

# cat /var/log/secure
Dec 4 21:32:40 server sshd: Accepted publickey for root from 10.1.3.221 port 56929 ssh2: RSA fa:7c:c6:6b:31:98:43:9f:ef:41:c5:49:80:c2:a8:16
Dec 4 21:32:41 server sshd: pam_unix(sshd:session): session opened for user root by (uid=0)

По отпечатку становится понятно, какой сертификат подключился. Для каждого сертификата отпечаток можно посмотреть в puttygen. В CentOS более ранних версий, в Ubuntu 12 и 14 в логах будет только такая информация:

# cat /var/log/auth.log
Dec 5 11:44:14 server sshd: Accepted publickey for root from 10.1.3.221 port 60170 ssh2
Dec 5 11:44:14 server sshd: pam_unix(sshd:session): session opened for user root by (uid=0)

Информации о самом ключе нет. Я так думаю, это зависит от версии OpenSSH. В первом случае 6-я версия, во втором 5-я. Специально я не проверял. Если у вас нет информации о ключе в лог файле, исправить это очень просто. В файле /etc/ssh/sshd_config меняем параметр:

LogLevel VERBOSE

и перезапускаем службу:

# service ssh restart

Пробуем снова подключиться по ssh, используя сертификат, и проверяем лог:

Dec 5 11:43:17 server sshd: Connection from 10.1.3.221 port 60162
Dec 5 11:43:19 server sshd: Found matching RSA key: fa:7c:c6:6b:31:98:43:9f:ef:41:c5:49:80:c2:a8:16
Dec 5 11:43:19 server sshd: Postponed publickey for root from 10.1.3.221 port 60162 ssh2 
Dec 5 11:43:19 server sshd: Found matching RSA key: fa:7c:c6:6b:31:98:43:9f:ef:41:c5:49:80:c2:a8:16
Dec 5 11:43:19 server sshd: Accepted publickey for root from 10.1.3.221 port 60162 ssh2
Dec 5 11:43:19 server sshd: pam_unix(sshd:session): session opened for user root by (uid=0)

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

Если у вас есть желание научиться администрировать системы на базе Linux, но вы с ними никогда не работали и не знакомы, то рекомендую начать с онлайн-курса «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Цена за курс минимальная (символическая). Информация о курсе и цене.

Понравилась статья? Поделиться с друзьями:
Wi-Fi Роутер
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: