<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ssh &#8212; valeriysirenko.ru</title>
	<atom:link href="https://valeriysirenko.ru/tag/ssh/feed/" rel="self" type="application/rss+xml" />
	<link>https://valeriysirenko.ru</link>
	<description>Блог Сиренко Валерия Николаевича</description>
	<lastBuildDate>Sat, 17 Oct 2026 21:03:00 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://valeriysirenko.ru/wp-content/uploads/2025/04/icon2-150x150.png</url>
	<title>ssh &#8212; valeriysirenko.ru</title>
	<link>https://valeriysirenko.ru</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Настройка SSH-доступа без запроса пароля к Linux-серверу из Windows CMD</title>
		<link>https://valeriysirenko.ru/nastrojka-ssh-dostupa-bez-zaprosa-parolya-k-linux-serveru-iz-windows-cmd/</link>
					<comments>https://valeriysirenko.ru/nastrojka-ssh-dostupa-bez-zaprosa-parolya-k-linux-serveru-iz-windows-cmd/#respond</comments>
		
		<dc:creator><![CDATA[treeloys]]></dc:creator>
		<pubDate>Sat, 17 Oct 2026 20:59:24 +0000</pubDate>
				<category><![CDATA[windows]]></category>
		<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ssh без пароля]]></category>
		<category><![CDATA[доступ SSH]]></category>
		<guid isPermaLink="false">https://valeriysirenko.ru/?p=851</guid>

					<description><![CDATA[Руководство по настройке входа на Linux-сервер по SSH-ключу, закреплению IP-адреса через DHCP домашнего роутера. Быстрый старт: Где главное заменить USER &#8212; на имя пользователя и SERVER_IP &#8212; на имя сервера к которому подключаетесь где-нибудь в блокноте. Подробная инструкция: 2. Далее развилка, закрытого и открытого ключа нет (см. выше), выполнить комманду ниже для его генерации и [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Руководство по настройке входа на Linux-сервер по SSH-ключу, закреплению IP-адреса через DHCP домашнего роутера.</p>



<p class="wp-block-paragraph">Быстрый старт:</p>



<pre class="wp-block-code"><code>type %USERPROFILE%\.ssh\id_ed25519.pub | ssh <strong>USER</strong>@<strong>SERVER_IP</strong> "mkdir -p ~/.ssh &amp;&amp; chmod 700 ~/.ssh &amp;&amp; cat >> ~/.ssh/authorized_keys &amp;&amp; chmod 600 ~/.ssh/authorized_keys"

ssh <strong>USER</strong>@<strong>SERVER_IP</strong></code></pre>



<p class="wp-block-paragraph">Где главное заменить USER &#8212; на имя пользователя и SERVER_IP &#8212; на имя сервера к которому подключаетесь где-нибудь в блокноте. </p>



<span id="more-851"></span>



<h2 class="wp-block-heading">Подробная инструкция:</h2>



<ol class="wp-block-list">
<li>Проверка что есть открытый и закрытый ключ на windows, выполняем комманду и видим id_ed25519 (закрытый, никому не копируем) и id_ed25519.pub (открытый, всегда копируем его)</li>
</ol>



<pre class="wp-block-code"><code>dir %USERPROFILE%\.ssh

 Содержимое папки C:\Users\Valera\.ssh

17.10.2026  23:16    &lt;DIR>          .
13.10.2026  05:50    &lt;DIR>          ..
17.10.2026  23:18               370 config
<strong>17.11.2023  03:39               411 id_ed25519
17.11.2023  03:39               103 id_ed25519.pub</strong>
06.04.2024  21:59             3 389 id_rsa
06.04.2024  21:59               749 id_rsa.pub
25.09.2026  01:09             7 205 known_hosts</code></pre>



<p class="wp-block-paragraph">2. Далее развилка, закрытого и открытого ключа нет (см. выше), выполнить комманду ниже для его генерации и отвечать на вопросы, в основном везде enter, пароль нинада ставить.</p>



<pre class="wp-block-code"><code>ssh-keygen -t ed25519</code></pre>



<p class="wp-block-paragraph">3. Далее выясняем MAC адрес машины у своего роутера, у меня TP-LINK</p>



<p class="wp-block-paragraph">Админка роутера &#8212; DHCP &#8212; Список клиентов DHCP</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="316" src="https://valeriysirenko.ru/wp-content/uploads/2026/10/image-1-1024x316.png" alt="" class="wp-image-852" srcset="https://valeriysirenko.ru/wp-content/uploads/2026/10/image-1-1024x316.png 1024w, https://valeriysirenko.ru/wp-content/uploads/2026/10/image-1-768x237.png 768w, https://valeriysirenko.ru/wp-content/uploads/2026/10/image-1-300x93.png 300w, https://valeriysirenko.ru/wp-content/uploads/2026/10/image-1.png 1325w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Копируем нужный MAC и идем в  пункт Админка роутера &#8212; DHCP &#8212; Резервирование адресов &#8212; Добавить &#8212; вставляем нужный нам MAC адрес и IP адрес подальше от автоматически генеренных.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="275" src="https://valeriysirenko.ru/wp-content/uploads/2026/10/image-2-1024x275.png" alt="" class="wp-image-853" srcset="https://valeriysirenko.ru/wp-content/uploads/2026/10/image-2-1024x275.png 1024w, https://valeriysirenko.ru/wp-content/uploads/2026/10/image-2-766x206.png 766w, https://valeriysirenko.ru/wp-content/uploads/2026/10/image-2-300x81.png 300w, https://valeriysirenko.ru/wp-content/uploads/2026/10/image-2.png 1332w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">После нажатия на Сохранить, перезапуск роутера обязателен. Перезапуск сервера не обязателен.</p>



<p class="wp-block-paragraph">4. Создать SSH-алиас</p>



<p class="wp-block-paragraph">Открыть файл с SSH-алиасами (потом это очень удобно)</p>



<pre class="wp-block-code"><code>notepad %USERPROFILE%\.ssh\config</code></pre>



<p class="wp-block-paragraph">И добавить новый алиас, выделенное жирным заменить на свое</p>



<pre class="wp-block-code"><code>Host <strong>linux-server</strong>
    HostName <strong>192.168.0.200</strong>
    User <strong>USER</strong>
    IdentityFile ~/.ssh/id_ed25519</code></pre>



<p class="wp-block-paragraph">Затем подключатся очень просто, особенно актуально для всяких cursor, zcode, и любых harness систем.</p>



<pre class="wp-block-code"><code>ssh linux-server</code></pre>



<h2 class="wp-block-heading">Основные ошибки при настройке</h2>



<h3 class="wp-block-heading">1. <code>REMOTE HOST IDENTIFICATION HAS CHANGED!</code></h3>



<p class="wp-block-paragraph">SSH обнаружил, что ключ устройства по указанному IP изменился. Это может произойти после переустановки Linux или если роутер выдал тот же IP другому устройству.</p>



<p class="wp-block-paragraph">Сначала убедитесь, что подключаетесь к нужному серверу потому что скорее всего настраивали для другого сервера, и сотрете подключение. Если изменение ожидаемое, удалите старую запись для конкретного IP:</p>



<pre class="wp-block-code"><code>ssh-keygen -R 192.168.0.101</code></pre>



<p class="wp-block-paragraph">После этого подключитесь повторно и подтвердите новый ключ, только если уверены, что это нужный сервер.</p>



<h3 class="wp-block-heading">2. IP-адрес сервера постоянно меняется</h3>



<p class="wp-block-paragraph">Если роутер автоматически раздаёт IP-адреса, один и тот же адрес со временем может достаться разным устройствам. SSH запоминает ключи серверов, поэтому при повторном использовании адреса другим устройством появляется предупреждение о несовпадении ключей.</p>



<p class="wp-block-paragraph">Решение — настроить <strong>резервирование DHCP</strong> в роутере: закрепить IP-адрес за MAC-адресом сетевой карты сервера. После обновления DHCP-аренды сервер будет получать зарезервированный адрес, и подключаться к нему станет проще.</p>



<h3 class="wp-block-heading">3. <code>vdollar_percent_expand: unknown key %U</code></h3>



<p class="wp-block-paragraph">Эта ошибка возникает, если команда Windows с переменной <code>%USERPROFILE%</code> выполняется внутри Linux. Windows CMD и Linux используют разные обозначения переменных среды.</p>



<p class="wp-block-paragraph">Выполните <code>exit</code>, чтобы вернуться в Windows, и запускайте команду в CMD. Приглашение <code>C:\Users\...&gt;</code> означает, что вы находитесь в Windows, а <code>user@server:~$</code> — в Linux.</p>



<h3 class="wp-block-heading">4. <code>Permission denied (publickey,password)</code></h3>



<p class="wp-block-paragraph">SSH не смог выполнить вход с доступными способами аутентификации. Возможные причины: публичный ключ не добавлен на сервер, используется не тот приватный ключ или подключение выполняется под другим пользователем.</p>



<p class="wp-block-paragraph">Проверьте, что публичный ключ находится в <code>~/.ssh/authorized_keys</code> нужного пользователя Linux, а права доступа установлены корректно: <code>700</code> для каталога <code>.ssh</code> и <code>600</code> для файла <code>authorized_keys</code>. Приватный ключ храните только на клиентском компьютере.</p>



<h2 class="wp-block-heading">Итог</h2>



<p class="wp-block-paragraph">Для обычной домашней локальной сети достаточно выполнить четыре действия:</p>



<ol start="1" class="wp-block-list">
<li>Создать SSH-ключ на Windows или использовать существующий.</li>



<li>Закрепить IP сервера через DHCP-резервирование роутера.</li>



<li>Добавить публичный ключ в <code>~/.ssh/authorized_keys</code> на Linux.</li>



<li>Подключаться командой <code>ssh USER@SERVER_IP</code> или через алиас из SSH-конфига.</li>
</ol>



<p class="wp-block-paragraph">Такой подход сохраняет стандартную проверку SSH host key, не требует включения ARP Binding и значительно упрощает дальнейшее администрирование сервера из под Windows putty, ssh, etc.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://valeriysirenko.ru/nastrojka-ssh-dostupa-bez-zaprosa-parolya-k-linux-serveru-iz-windows-cmd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
