Объектно-ориентированный язык программирования Python является одним из наиболее востребованных на 2021 год на ИТ-рынке
Автор - Ван Россум, Гвидо - Нидерланды
Источники
Пример программы:
import mysql.connector
from mysql.connector import connect, Error
print("MySQL Connector/Python version: {0}".format(mysql.connector.__version__))
print("Version as tuple:")
print(mysql.connector.__version_info__)
print("")
print("API level: {0}".format(mysql.connector.apilevel))
print("Parameter style: {0}".format(mysql.connector.paramstyle))
print("Thread safe: {0}".format(mysql.connector.threadsafety))
try:
connection = connect(
host="ivlytkin.beget.tech",
user="ivlytkin_zenmon",
password="пароль",
database="ivlytkin_zenmon",
)
print(connection)
if connection.is_connected():
db_Info = connection.get_server_info()
print("Connected to MySQL Server version ", db_Info)
cursor = connection.cursor()
cursor.execute("select database();")
record = cursor.fetchone()
print("You're connected to database: ", record)
show_db_query: str = "SHOW DATABASES"
with connection.cursor() as cursor:
cursor.execute(show_db_query)
for db in cursor:
print(db)
print(connection)
create_movies_table_query = """
CREATE TABLE movies(
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100),
release_year YEAR(4),
genre VARCHAR(100),
collection_in_mil INT
)
"""
with connection.cursor() as cursor:
cursor.execute(create_movies_table_query)
connection.commit()
create_reviewers_table_query = """
CREATE TABLE reviewers (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(100),
last_name VARCHAR(100)
)
"""
with connection.cursor() as cursor:
cursor.execute(create_reviewers_table_query)
connection.commit()
create_ratings_table_query = """
CREATE TABLE ratings (
movie_id INT,
reviewer_id INT,
rating DECIMAL(2,1),
FOREIGN KEY(movie_id) REFERENCES movies(id),
FOREIGN KEY(reviewer_id) REFERENCES reviewers(id),
PRIMARY KEY(movie_id, reviewer_id)
)
"""
with connection.cursor() as cursor:
cursor.execute(create_ratings_table_query)
connection.commit()
except Error as e:
print(e)
Positive Technologies - PyAnalisys - выявление подозрительных и вредоносных Python-пакетов.
PT PyAnalysis — сервис для выявления подозрительных и вредоносных Python-пакетов, который можно интегрировать в процесс безопасной разработки ПО. Cервис нацелен на анализ пакетов из глобального репозитория PyPI. Мы являемся независимыми аудиторами этого репозитория и за девять месяцев исследования нашли в нем более 200 вредоносных пакетов. C точки зрения пользователя сервис представляет собой API, который позволяет проверить пакет по его названию и получить вердикт относительно его функций: чистый, подозрительный, опасный.
Пример программы - TestPyAnalysis
Указатель пакетов Python’а (Python Package Index — PyPI) — это хранилище программного обеспечения для языка программирования Python. PyPI помогает вам находить и устанавливать программное обеспечение, разработанное и распространяемое сообществом Python. Подробнее об установке пакетов.
Авторы пакетов используют PyPI для распространения своего программного обеспечения. Узнайте, как упаковать ваш Python-код для PyPI.
asyncio - это библиотека для написания параллельного кода с использованием синтаксиса async/await. asyncio используется в качестве основы для нескольких асинхронных фреймворков Python, которые обеспечивают высокопроизводительные сетевые и веб-серверы, библиотеки соединений с базами данных, распределенные очереди задач и т.д.
Изучить (из FAQ Михаила Крыжановского)
Хабр
Одна из новых возможностей, появившихся в Python 3.7 — классы данных (Data classes). Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных. Не смотря на то, что они используют другие механизмы работы, их можно сравнить с "изменяемыми именованными кортежами со значениями по умолчанию".
CloudFlare- система защиты личного сайта от потенциальных и реальных киберпреступников.
Источники:
Процесс переноса зоны lytkins.ru от BeGet к CloudFlare состоит из следующих шагов:
1. Зарегистрировал аккаунт в сервисе cloudflare.com. Для регистрации использовал алиас почтового ящика Proton Mail + сложный пароль (99 символов, смесь из 4 наборов символов).
2. Перенастроил в BeGet DNS-серверы с NS-серверов Beget на NS-серверы CloudFlare (edna.ns.cloudflare.com, jaime.ns.cloudflare.com).
3. Дождался процесса переноса информации в DNS.
4. Включил режим "Under Attack Mode".
CloudFlare предлагает пользователям несколько тарифов. Начать можно с бесплатного тарифа.
Публичные DNS-серверы
Disk Usage Analyzer - это графическое приложение для анализа использования устройств хранения. Его можно использовать для сканирования нескольких локальных или удаленных устройств хранения, включая жесткие диски, твердотельные накопители, USB-накопители, цифровые камеры и карты памяти. Анализатор использования диска может сканировать либо всю файловую систему, ваш домашний каталог, указанную папку, либо удаленный каталог.
С помощью полученных результатов можно определить, какие папки можно заархивировать, удалить или переместить, чтобы освободить место. Также можно оценить, сколько места понадобится для резервного копирования определённых папок.
Домашняя папка - это то место, где находится большинство файлов для большинства пользователей, поскольку настройки по умолчанию часто настроены на сохранение или копирование файлов в подкаталоги внутри нее. Сюда входят загрузки из Интернета, документы, с которыми вы работаете, и фотографии с вашей камеры. Обычно для каждого пользователя на компьютере существует одна домашняя папка.
Categories SSH 2 Comments
Краткое описание: в этом руководстве мы демонстрируем, как использовать команды SSH Proxy Jump и SSH ProxyCommand при подключении к серверу jump.
В нашем предыдущем руководстве о том, как настроить SSH-сервер перехода, мы рассмотрели концепцию хоста Bastion. Хост Bastion или сервер перехода - это промежуточное устройство, к которому сначала подключается SSH-клиент, прежде чем получить доступ к целевой удаленной системе Linux. Сервер SSH Jump действует как шлюз к вашим ИТ-ресурсам, тем самым уменьшая вероятность атаки.
Команды SSH Proxy Jump и Proxy Command определяют, как клиент подключается к удаленному серверу через jump service, jump host или сервер bastion. В этом руководстве подробно рассматриваются SSH Proxy Jump и SSH Proxy Command в Linux.
Cодержание
Команда Proxy Jump обозначается флагом -J. Она была введена в OpenSSH server версии 7.3 и помогает вам установить соединение с удаленным объектом, перейдя через сервер bastion или jump server.
Приведенный ниже синтаксис показывает, как используется эта опция:
$ ssh -J <jump-server> <remote-target>
В случае нескольких серверов bastion или jump синтаксис принимает следующий формат:
$ ssh -J <jump-server-1> <jump-server-2> <remote-target>
В обоих случаях вы будете входить в систему как пользователь root на каждом этапе. Это не идеально по соображениям безопасности, поэтому вы можете захотеть создавать разных пользователей в каждом экземпляре.
Вы можете явно указать разных пользователей и порты SSH, как показано на рисунке.
$ ssh -J <user@jump-host:port> <user@remote-target:port>
Чтобы продемонстрировать флажок перехода прокси-сервера в действии, у нас есть простая настройка, как показано на рисунке.
Jump Server IP: 173.82.232.55 User: james
Remote Target IP: 173.82.227.89 User: tecmint
Чтобы подключиться к удаленному целевому объекту с помощью сервера перехода, команда будет выглядеть следующим образом.
$ ssh -J
Команда запросит у вас пароль пользователя сервера перехода, за которым последует пароль целевой системы, по которому вам будет предоставлен доступ к целевой системе.
Если вы регулярно используете определенный bastion для подключения к определенному удаленному объекту, вы можете добавить следующую конфигурацию перехода через прокси-сервер в файл ~/.ssh/config, чтобы обеспечить бесперебойное подключение. Когда это произойдет, вы пройдете аутентификацию только один раз, и это произойдет только на удаленном целевом объекте.
Host host-jump
User james
Hostname 173.82.232.55
Host host_destination
User tecmint
Hostname 173.82.227.89
Port 22
Используя приведенную выше конфигурацию, вы можете установить соединение с целевым объектом, как показано на рисунке.
До SSH Proxy Jump ProxyCommand был единственным способом перехода от хостов к удаленной цели. Он работает путем пересылки stdin (стандартный вход) и stdout (стандартный выход) от удаленной цели через сервер перехода или bastion.
Команда Proxy использует следующий синтаксис.
$ ssh -o ProxyCommand="ssh -W %h:%p <jump server>" <remote target>
Здесь -W в аргументах %h:%p перенаправляет стандартный ввод и вывод на удаленный хост (%h) и порт удаленного хоста (%p). Чтобы привести команду в действие, вот как будет выглядеть наша команда
Конечно, ввод всей команды утомителен и отнимает много времени. Чтобы избежать ввода такой длинной команды, добавьте следующие строки кода в свой файл ~/.ssh/config.
Host host-destination Hostname 173.82.227.89 ProxyCommand ssh -q -W %h:%p host-jump
Сохраните и выйдите. Теперь все, что вам нужно сделать, это выполнить следующую команду для подключения к удаленному серверу.
$ ssh host-destination
Выводы. В этом руководстве мы продемонстрировали, как работают команды Proxy Jump и Proxy Command. В целом, Proxy Jump является лучшей альтернативой ProxyCommand и обеспечивает более простой и бесперебойный способ подключения к удаленному объекту через узел jump.
Оригинал статьи: How to Access a Remote Server Using a SSH Jump Host - Categories Security, SSH 28 Comments
Переходный хост (также известный как переходный сервер) - это промежуточный хост или SSH-шлюз удаленной сети, через который может быть установлено соединение с другим хостом в другой зоне безопасности, например, демилитаризованной зоне (DMZ). Он соединяет две непохожие зоны безопасности и обеспечивает контролируемый доступ между ними.
Переходный сервер должен быть надежно защищен и контролироваться, особенно если он охватывает частную сеть и демилитаризованную зону с серверами, предоставляющими услуги пользователям в Интернете.
Классический сценарий - подключение с вашего настольного компьютера или ноутбука из внутренней сети вашей компании, которая надежно защищена брандмауэрами, к демилитаризованной зоне. Чтобы легко управлять сервером в демилитаризованной зоне, вы можете получить к нему доступ через jump host.
В двух словах, SSH-сервер перехода - это Linux-сервер, который используется в качестве шлюза для других Linux-серверов в частной сети по протоколу SSH.
В этой статье мы продемонстрируем, как получить доступ к удаленному серверу Linux через jump host, а также настроим необходимые параметры в настройках SSH-клиента для каждого пользователя.
Настройка сервера SSH Jump
Причины настройки сервера SSH Jump
Как создать простой сервер SSH Jump
Динамический список хостов Jump
Список нескольких хостов Jump
Статический список Jumphost
Повышение безопасности сервера SSH Jump
Рассмотрим следующий сценарий.
Для большей наглядности ниже приведена простая настройка, демонстрирующая роль сервера перехода по SSH.
Сервер перехода предоставляет шлюз для вашей инфраструктуры и уменьшает потенциальную поверхность атаки на ваши ресурсы. Он также обеспечивает прозрачное управление устройствами, а также единую точку доступа к вашим ресурсам. Имейте в виду, что при включении jump-сервера в свою инфраструктуру убедитесь, что сервер защищен, в противном случае было бы все равно, что его не использовать. Мы вернемся к этому позже в этом руководстве.
Давайте теперь сосредоточимся на том, как вы можете создать простой SSH-сервер перехода. Вот наша простая настройка.
Исходный IP: 105.68.76.85.
IP-адрес сервера перехода (мы будем называть это host-jump): 173.82.232.55.
IP-адрес назначения (мы будем называть это host_destination): 173.82.227.89.
В приведенном выше сценарии вы хотите подключиться к хосту 2 (173.82.227.89), но вам нужно пройти через ХОСТ 1 (173.82.232.55) из-за брандмауэра, маршрутизации и привилегий доступа. Существует ряд веских причин, по которым необходимы переходные хосты.
Самый простой способ подключиться к целевому серверу через переходный узел - это использовать флаги -A и -J из командной строки. Это указывает ssh установить соединение с хостом jump, а затем установить переадресацию TCP на целевой сервер оттуда (убедитесь, что у вас есть SSH-логин без пароля между компьютерами).
$ ssh -A -J user@jump-server user@destination server
Например, в нашей настройке у нас есть пользователь с именем james, настроенный на сервере Jump, и tecmint, настроенный в целевой системе. Команда будет выглядеть следующим образом с исходного IP-адреса.
$ ssh -A -JThis email address is being protected from spambots. You need JavaScript enabled to view it. This email address is being protected from spambots. You need JavaScript enabled to view it.
Команда запросит у вас пароль пользователя сервера перехода, за которым последует пароль целевой системы, по которому вам будет предоставлен доступ к целевой системе.
Если имена пользователей или порты на компьютерах отличаются, укажите их в терминале, как показано на рисунке.
$ ssh -J username@host1:port username@host2:port
Один и тот же синтаксис можно использовать для выполнения переходов между несколькими серверами.
$ ssh -J username@host1:port,username@host2:port username@host3:port
Статический список jumphost означает, что вы знаете jumphost или jumphosts, которые вам нужны для подключения компьютера. Поэтому вам нужно добавить следующий статический jumphost ‘routing’ в файл ~/.ssh/config и указать псевдонимы хостов, как показано на рисунке.
### First jumphost. Directly reachable Host vps1 HostName vps1.example.org ### Host to jump to via jumphost1.example.org Host contabo HostName contabo.example.org ProxyJump vps1
Теперь попробуйте подключиться к целевому серверу через переходный узел, как показано на рисунке.
$ ssh -J vps1 contabo
Второй способ заключается в использовании опции ProxyCommand для добавления конфигурации jumphost в ваш файл ~.ssh/config
или $HOME/.ssh/config
, как показано на рисунке.
В этом примере целевым хостом является contabo, а jumphost - vps1.
Host vps1 HostName vps1.example.org IdentityFile ~/.ssh/vps1.pem User ec2-user Host contabo HostName contabo.example.org IdentityFile ~/.ssh/contabovps Port 22 User admin Proxy Command ssh -q -W %h:%p vps1
Сохраните изменения и закройте файл. Чтобы применить изменения, перезапустите SSH-демон.
$ sudo systemctl restart ssh
Давайте рассмотрим параметры, используемые в конфигурационном файле:
-q
– Это означает тихий режим. Он подавляет предупреждения и диагностические сообщения.-W
– Запрашивает, чтобы стандартные входные и выходные данные на клиенте были перенаправлены на порт HOST on по защищенному каналу.%h
– Указывает хост, к которому необходимо подключиться.%p
– Указал порт для подключения к удаленному хосту.Чтобы "перейти" к целевой системе с вашего исходного IP-адреса через сервер перехода, просто выполните следующую команду:
$ ssh contabo
Приведенная выше команда сначала откроет ssh-соединение с vps1 в фоновом режиме, на который влияет команда ProxyCommand, а затем запустит сеанс ssh с целевым сервером Приведенная выше команда сначала откроет ssh-соединение с vps1 в фоновом режиме, на который влияет команда ProxyCommand, а затем запустит сеанс ssh с целевым сервером contabo.
Один из способов сделать эту настройку более безопасной - скопировать открытый SSH-ключ из исходной системы на сервер перехода, а затем, наконец, в целевую систему, а затем отключить аутентификацию по паролю. Ознакомьтесь с нашим руководством о том, как включить аутентификацию по SSH без пароля.
Кроме того, ознакомьтесь с советами по усилению защиты SSH-сервера.
Кроме того, убедитесь, что на Jump-сервере не хранятся конфиденциальные данные, поскольку это может привести к утечке учетных данных доступа, таких как имена пользователей и пароли, что приведет к общесистемному взлому.
Для получения дополнительной информации смотрите справочную страницу ssh или обратитесь к: OpenSSH/Cookbxook/Прокси-серверы и узлы перехода.
На данный момент это все! В этой статье мы продемонстрировали, как получить доступ к удаленному серверу через jump host.
1. Целевой хост = singualrity.lytkins.ru (Ubuntu 22.04.3 LTS + FIPS3).
Промежуточный хост = igor2022.lytkins.ru (ноутбук HP Laptop 15-dw1168ur)
Имя ОС Майкрософт Windows 11 Pro
Версия 10.0.22631 Сборка 22631
PS C:\Users\IgorL\IdeaProjects\MyPowershell> ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
[-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J [user@]host[:port]] [-L address]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-Q query_option] [-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] destination [command]
Файлы ssh:
C:\Users\IgorL>dir %USERPROFILE%\.ssh
Том в устройстве C не имеет метки.
Серийный номер тома: 8268-093B
Содержимое папки C:\Users\IgorL\.ssh
18.12.2023 22:54 <DIR> .
21.12.2023 20:00 <DIR> ..
18.12.2023 22:54 3 163 known_hosts
18.12.2023 22:54 2 419 known_hosts.old
2 файлов 5 582 байт
2 папок 282 606 895 104 байт свободно
Очищаем каталог .ssh
C:\Users\IgorL>del %USERPROFILE%\.ssh\known_hosts*
D:\dist\SysinternalsSuite\pskill64.exe ssh.exe
start ssh -fNL 22:localhost:22 -v -i "C:\Users\igorl\YandexDisk\Singularity\Keys\2023\ed25519\id_ed25519"
C:\Users\IgorL>ssh -fNL 22:localhost:22 -v -i "D:\Yandex\igor.lytkin.2020\YandexDisk\Singularity\Keys\2023\ed25519\id_ed25519"
OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to singularity.lytkins.ru [62.113.107.38] port 22.
debug1: Connection established.
debug1: identity file D:\\Yandex\\igor.lytkin.2020\\YandexDisk\\Singularity\\Keys\\2023\\ed25519\\id_ed25519 type 3
debug1: identity file D:\\Yandex\\igor.lytkin.2020\\YandexDisk\\Singularity\\Keys\\2023\\ed25519\\id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_for_Windows_8.6
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.9p1 Ubuntu-3ubuntu0.4+Fips3
debug1: compat_banner: match: OpenSSH_8.9p1 Ubuntu-3ubuntu0.4+Fips3 pat OpenSSH* compat 0x04000000
debug1: Authenticating to singularity.lytkins.ru:22 as 'liv'
debug1: load_hostkeys: fopen C:\\Users\\IgorL/.ssh/known_hosts: No such file or directory
debug1: load_hostkeys: fopen C:\\Users\\IgorL/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: ecdh-sha2-nistp256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: aes128-ctr MAC:
debug1: kex: client->server cipher: aes128-ctr MAC:
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:yUkFmKmDx6mfQMfqaRsSq11FDUCTJIF1G7chuEbxdZE
debug1: load_hostkeys: fopen C:\\Users\\IgorL/.ssh/known_hosts: No such file or directory
debug1: load_hostkeys: fopen C:\\Users\\IgorL/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts2: No such file or directory
debug1: hostkeys_find_by_key_hostfile: hostkeys file C:\\Users\\IgorL/.ssh/known_hosts does not exist
debug1: hostkeys_find_by_key_hostfile: hostkeys file C:\\Users\\IgorL/.ssh/known_hosts2 does not exist
debug1: hostkeys_find_by_key_hostfile: hostkeys file __PROGRAMDATA__\\ssh/ssh_known_hosts does not exist
debug1: hostkeys_find_by_key_hostfile: hostkeys file __PROGRAMDATA__\\ssh/ssh_known_hosts2 does not exist
The authenticity of host 'singularity.lytkins.ru (62.113.107.38)' can't be established.
ECDSA key fingerprint is SHA256:yUkFmKmDx6mfQMfqaRsSq11FDUCTJIF1G7chuEbxdZE.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'singularity.lytkins.ru' (ECDSA) to the list of known hosts.
debug1: rekey out after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
Connection reset by 62.113.107.38 port 22
Соеднинение с хостом VPS не получилось.
C:\Users\IgorL>ssh -v singularity.lytkins.ru
OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to singularity.lytkins.ru [62.113.107.38] port 22.
debug1: Connection established.
debug1: identity file C:\\Users\\IgorL/.ssh/id_rsa type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_rsa-cert type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_dsa type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_dsa-cert type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_ecdsa type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_ecdsa-cert type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_ecdsa_sk type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_ed25519 type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_ed25519-cert type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_ed25519_sk type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_ed25519_sk-cert type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_xmss type -1
debug1: identity file C:\\Users\\IgorL/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_for_Windows_8.6
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.9p1 Ubuntu-3ubuntu0.4+Fips3
debug1: compat_banner: match: OpenSSH_8.9p1 Ubuntu-3ubuntu0.4+Fips3 pat OpenSSH* compat 0x04000000
debug1: Authenticating to singularity.lytkins.ru:22 as 'igorl'
debug1: load_hostkeys: fopen C:\\Users\\IgorL/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: ecdh-sha2-nistp256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: aes128-ctr MAC:
debug1: kex: client->server cipher: aes128-ctr MAC:
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:yUkFmKmDx6mfQMfqaRsSq11FDUCTJIF1G7chuEbxdZE
debug1: load_hostkeys: fopen C:\\Users\\IgorL/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts2: No such file or directory
debug1: Host 'singularity.lytkins.ru' is known and matches the ECDSA host key.
debug1: Found key in C:\\Users\\IgorL/.ssh/known_hosts:1
debug1: rekey out after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 4294967296 blocks
debug1: pubkey_prepare: ssh_get_authentication_socket: No such file or directory
debug1: Will attempt key: C:\\Users\\IgorL/.ssh/id_rsa
debug1: Will attempt key: C:\\Users\\IgorL/.ssh/id_dsa
debug1: Will attempt key: C:\\Users\\IgorL/.ssh/id_ecdsa
debug1: Will attempt key: C:\\Users\\IgorL/.ssh/id_ecdsa_sk
debug1: Will attempt key: C:\\Users\\IgorL/.ssh/id_ed25519
debug1: Will attempt key: C:\\Users\\IgorL/.ssh/id_ed25519_sk
debug1: Will attempt key: C:\\Users\\IgorL/.ssh/id_xmss
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
debug1: kex_input_ext_info:
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: C:\\Users\\IgorL/.ssh/id_rsa
debug1: Trying private key: C:\\Users\\IgorL/.ssh/id_dsa
debug1: Trying private key: C:\\Users\\IgorL/.ssh/id_ecdsa
debug1: Trying private key: C:\\Users\\IgorL/.ssh/id_ecdsa_sk
debug1: Trying private key: C:\\Users\\IgorL/.ssh/id_ed25519
debug1: Trying private key: C:\\Users\\IgorL/.ssh/id_ed25519_sk
debug1: Trying private key: C:\\Users\\IgorL/.ssh/id_xmss
debug1: No more authentication methods to try.
Серверу нужен ключ, сделанный по одному из этих алгоримтов:
C:\Users\IgorL\.ssh>ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ssh_host_rsa_key
Your public key has been saved in ssh_host_rsa_key.pub
The key fingerprint is:
SHA256:F7rW1g0DBYvOqXC+l+9vQU2t9/n6aZtEHi8y7t2lvUM igorl@igor2022
The key's randomart image is:
+---[RSA 4096]----+
| ... . |
| . o . .|
| . + o . |
| o o o. o .|
| . . S ..o +o|
| + . + ..+oE+|
| o o.o +.+o+|
| oo. ..+.B=|
| .. oo++ =BB|
+----[SHA256]-----+
Добавляю на VPS
SHA256:F7rW1g0DBYvOqXC+l+9vQU2t9/n6aZtEHi8y7t2lvUM igorl@igor2022
На VPS
/etc/ssh/sshd_config | |
Было | Стало |
# Configuration data is parsed as follows: # Site-wide defaults for some commonly used options. For a comprehensive Include /etc/ssh/ssh_config.d/*.conf Host * |
/etc/ssh/sshd_config.d/10-my-sshd-settings.conf | |
PermitRootLogin yes LogLevel VERBOSE PasswordAuthentication no |
/etc/ssh/sshd_config.d/50-cloud-init.conf | |
PasswordAuthentication yes |