HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>SSH - определение</a></li>
1 <ul><li><a>SSH - определение</a></li>
2 <li><a>Как проверить SSH-службу</a></li>
2 <li><a>Как проверить SSH-службу</a></li>
3 <li><a>Подключение через пароль</a><ul><li><a>На Windows</a></li>
3 <li><a>Подключение через пароль</a><ul><li><a>На Windows</a></li>
4 <li><a>Через CMD</a></li>
4 <li><a>Через CMD</a></li>
5 <li><a>Через PuTT</a></li>
5 <li><a>Через PuTT</a></li>
6 <li><a>Через Linux и MacOS</a></li>
6 <li><a>Через Linux и MacOS</a></li>
7 </ul></li>
7 </ul></li>
8 <li><a>Использование ключа</a><ul><li><a>Генерирование в Windows</a></li>
8 <li><a>Использование ключа</a><ul><li><a>Генерирование в Windows</a></li>
9 <li><a>Генерация в Linux/MacOS</a></li>
9 <li><a>Генерация в Linux/MacOS</a></li>
10 </ul></li>
10 </ul></li>
11 </ul><p>SSH - это специальный зашифрованный протокол. Он используется для того, чтобы удаленно управлять различными серверами. Для того, чтобы подключиться через него, можно из раза в раз вводить пароль или выбрать настройку авторизации по заданному ключу. Второй вариант является более безопасным и целесообразным, но он имеет ряд своих нюансов.</p>
11 </ul><p>SSH - это специальный зашифрованный протокол. Он используется для того, чтобы удаленно управлять различными серверами. Для того, чтобы подключиться через него, можно из раза в раз вводить пароль или выбрать настройку авторизации по заданному ключу. Второй вариант является более безопасным и целесообразным, но он имеет ряд своих нюансов.</p>
12 <p>Далее будет рассмотрено подключение по SSH обоими способами. Предложенная информация ориентирована на широкую публику. Она поможет научиться настраивать и производить подключение к серверу по паролю, а также по ключу. Опубликованные инструкции подойдут как опытным специалистам, так и новичкам.</p>
12 <p>Далее будет рассмотрено подключение по SSH обоими способами. Предложенная информация ориентирована на широкую публику. Она поможет научиться настраивать и производить подключение к серверу по паролю, а также по ключу. Опубликованные инструкции подойдут как опытным специалистам, так и новичкам.</p>
13 <p>SSH соединение (от английского secure shell - защищенная оболочка) - это протокол для удаленного доступа к совершенно разным устройствам операционной системы Linux:</p>
13 <p>SSH соединение (от английского secure shell - защищенная оболочка) - это протокол для удаленного доступа к совершенно разным устройствам операционной системы Linux:</p>
14 <ul><li>компьютерам;</li>
14 <ul><li>компьютерам;</li>
15 <li>серверам;</li>
15 <li>серверам;</li>
16 <li>телефонам;</li>
16 <li>телефонам;</li>
17 <li>иным гаджетам.</li>
17 <li>иным гаджетам.</li>
18 </ul><p>Он представляет собой некий набор правил, с помощью которых можно установить соединение с тем или иным оборудованием, физически расположенном в любой точке мира.</p>
18 </ul><p>Он представляет собой некий набор правил, с помощью которых можно установить соединение с тем или иным оборудованием, физически расположенном в любой точке мира.</p>
19 <p>Secure в названии соответствующего протокола указывает на непосредственный обмен данными между устройствами, который будет шифроваться. Это значит, что получится контактировать с чувствительной информацией: паролями, кодами доступа и так далее.</p>
19 <p>Secure в названии соответствующего протокола указывает на непосредственный обмен данными между устройствами, который будет шифроваться. Это значит, что получится контактировать с чувствительной информацией: паролями, кодами доступа и так далее.</p>
20 <p>Данные будут передаваться в зашифрованном виде для повышения уровня безопасности информационного обмена. Соединение и аутентификация осуществляются двумя способами (на выбор пользователя):</p>
20 <p>Данные будут передаваться в зашифрованном виде для повышения уровня безопасности информационного обмена. Соединение и аутентификация осуществляются двумя способами (на выбор пользователя):</p>
21 <ol><li>Вход по паролю. В этом случае между клиентом и сервером будет создаваться общий секретный ключ. С его помощью трафик окажется зашифрованным.</li>
21 <ol><li>Вход по паролю. В этом случае между клиентом и сервером будет создаваться общий секретный ключ. С его помощью трафик окажется зашифрованным.</li>
22 <li>Вход с помощью пары ключей. Перед первым соединением пользователь генерирует два ключа - открытый и закрытый. Они сохранятся на удаленном и локальном устройствах соответственно.</li>
22 <li>Вход с помощью пары ключей. Перед первым соединением пользователь генерирует два ключа - открытый и закрытый. Они сохранятся на удаленном и локальном устройствах соответственно.</li>
23 </ol><p>Далее оба эти приема будут рассмотрены более подробно. Каждый тип подключения к серверу через SSH обладает своими особенностями и ключевыми моментами. О них должен знать каждый пользователь.</p>
23 </ol><p>Далее оба эти приема будут рассмотрены более подробно. Каждый тип подключения к серверу через SSH обладает своими особенностями и ключевыми моментами. О них должен знать каждый пользователь.</p>
24 <h2>Как проверить SSH-службу</h2>
24 <h2>Как проверить SSH-службу</h2>
25 <p>Перед началом работы необходимо проверить, как SSH работает на сервере. Доступ к нему обычно предлагается включить в процессе создания сервера или во время выставления его конфигурационных настроек. Убедиться в том, что он разрешен, удается при помощи консоли. Она доступна непосредственно в панели управления сервером.</p>
25 <p>Перед началом работы необходимо проверить, как SSH работает на сервере. Доступ к нему обычно предлагается включить в процессе создания сервера или во время выставления его конфигурационных настроек. Убедиться в том, что он разрешен, удается при помощи консоли. Она доступна непосредственно в панели управления сервером.</p>
26 <p>Примером может послужить VDS на Timeweb. Для того, чтобы попасть в консоль, требуется авторизоваться по логину и паролю, который был выдан хостером. Далее предстоит выбрать собственный сервер в списке VDS и перейти в раздел "Консоль".</p>
26 <p>Примером может послужить VDS на Timeweb. Для того, чтобы попасть в консоль, требуется авторизоваться по логину и паролю, который был выдан хостером. Далее предстоит выбрать собственный сервер в списке VDS и перейти в раздел "Консоль".</p>
27 <p>Для того, чтобы воспользоваться консолью, требуется авторизация. Логин и пароль для этого хостер обычно присылает пользователю (владельцу сервера) в письме. Сначала в специальном поле указывается логин и нажимается кнопка "Ввод". Далее появляется строчка Password. В ней владелец сервера должен указать пароль доступа.</p>
27 <p>Для того, чтобы воспользоваться консолью, требуется авторизация. Логин и пароль для этого хостер обычно присылает пользователю (владельцу сервера) в письме. Сначала в специальном поле указывается логин и нажимается кнопка "Ввод". Далее появляется строчка Password. В ней владелец сервера должен указать пароль доступа.</p>
28 <p>В целях безопасности в процессе ввода пароля на экране не будут отображаться никакие символы. Это касается как непосредственно вводимой информации, так и "привычных" звездочек.</p>
28 <p>В целях безопасности в процессе ввода пароля на экране не будут отображаться никакие символы. Это касается как непосредственно вводимой информации, так и "привычных" звездочек.</p>
29 <p>После авторизации в консоли владелец сервера сможет проверить, запущена ли SSH. Для этого потребуется:</p>
29 <p>После авторизации в консоли владелец сервера сможет проверить, запущена ли SSH. Для этого потребуется:</p>
30 <ol><li>Выполнить команду systemctl status sshd.</li>
30 <ol><li>Выполнить команду systemctl status sshd.</li>
31 <li>Посмотреть на строку Active. В ней зеленым должна быть выделена запись active (running). Эта запись указывает на то, что рассматриваемая служба запущена.</li>
31 <li>Посмотреть на строку Active. В ней зеленым должна быть выделена запись active (running). Эта запись указывает на то, что рассматриваемая служба запущена.</li>
32 </ol><p>Если подключение по SSH деактивировано (служба неактивна), ее можно добавить самостоятельно. Для этого выполняется команда sudo apt install openssh-server, а затем подтверждается инициализация пакетов.</p>
32 </ol><p>Если подключение по SSH деактивировано (служба неактивна), ее можно добавить самостоятельно. Для этого выполняется команда sudo apt install openssh-server, а затем подтверждается инициализация пакетов.</p>
33 <p>Для подключения может потребоваться настройка брандмауэра. Чтобы межсетевой экран не блокировал входящие соединения, он на время отключается. Добиться соответствующей операции получится за счет команды sudo ufw disable.</p>
33 <p>Для подключения может потребоваться настройка брандмауэра. Чтобы межсетевой экран не блокировал входящие соединения, он на время отключается. Добиться соответствующей операции получится за счет команды sudo ufw disable.</p>
34 <h2>Подключение через пароль</h2>
34 <h2>Подключение через пароль</h2>
35 <p>Первый вариант подключения к удаленному серверу через SSH - по логину и паролю. Это самая распространенная ситуация. Она является элементарной. Хостер предоставит владельцу сервера IP-адрес, логин, а также пароль. Этого будет достаточно для того, чтобы установить соединение с удаленным сервером. Далее будут рассмотрены различные способы подключения данным методом.</p>
35 <p>Первый вариант подключения к удаленному серверу через SSH - по логину и паролю. Это самая распространенная ситуация. Она является элементарной. Хостер предоставит владельцу сервера IP-адрес, логин, а также пароль. Этого будет достаточно для того, чтобы установить соединение с удаленным сервером. Далее будут рассмотрены различные способы подключения данным методом.</p>
36 <h3>На Windows</h3>
36 <h3>На Windows</h3>
37 <p>Многие пользователи работают с Windows, поэтому использование SSH и пароля необходимо начать с этой операционной системы. Для установления соединения с сервером рассматриваемым методом можно воспользоваться программой PuTTY. Это связано с тем, что в Windows отсутствует встроенное характерное приложение. В Windows 10 оно появилось, поэтому теперь подключаться к SSH получится значительно быстрее, причем без инициализации стороннего программного обеспечения. Для этого достаточно воспользоваться командной строкой CMD.</p>
37 <p>Многие пользователи работают с Windows, поэтому использование SSH и пароля необходимо начать с этой операционной системы. Для установления соединения с сервером рассматриваемым методом можно воспользоваться программой PuTTY. Это связано с тем, что в Windows отсутствует встроенное характерное приложение. В Windows 10 оно появилось, поэтому теперь подключаться к SSH получится значительно быстрее, причем без инициализации стороннего программного обеспечения. Для этого достаточно воспользоваться командной строкой CMD.</p>
38 <p>Для активации встроенного в систему OpenSSH потребуется:</p>
38 <p>Для активации встроенного в систему OpenSSH потребуется:</p>
39 <ol><li>Открыть "Параметры" и перейти в раздел "Приложения". Быстро перейти в соответствующую службу поможет сочетание клавиш Win + I.</li>
39 <ol><li>Открыть "Параметры" и перейти в раздел "Приложения". Быстро перейти в соответствующую службу поможет сочетание клавиш Win + I.</li>
40 <li>Выбрать опцию "Управление дополнительными компонентами".</li>
40 <li>Выбрать опцию "Управление дополнительными компонентами".</li>
41 <li>Кликнуть по "Добавить компонент".</li>
41 <li>Кликнуть по "Добавить компонент".</li>
42 <li>Выбрать в предложенном списке "Клиент OpenSSH". Здесь потребуется нажать на кнопку "Установить".</li>
42 <li>Выбрать в предложенном списке "Клиент OpenSSH". Здесь потребуется нажать на кнопку "Установить".</li>
43 <li>Дождаться завершения инициализации контента.</li>
43 <li>Дождаться завершения инициализации контента.</li>
44 <li>Перезагрузить операционную систему.</li>
44 <li>Перезагрузить операционную систему.</li>
45 </ol><p>Теперь можно подключиться к имеющемуся серверу по SSH. Можно рассмотреть вариант установления соединения при помощи CMD. Такой вариант в основном используется в Windows 10.</p>
45 </ol><p>Теперь можно подключиться к имеющемуся серверу по SSH. Можно рассмотреть вариант установления соединения при помощи CMD. Такой вариант в основном используется в Windows 10.</p>
46 <h3>Через CMD</h3>
46 <h3>Через CMD</h3>
47 <p>Чтобы разобраться с подключением через консоль в Windows, нужно запустить соответствующую службу, а затем выполнить в ней запрос вроде ssh root@185.104.114.90. Здесь root - это логин для подключения, который был получен в письме, а 185.104.114.90 - IP-адрес имеющегося сервера. Он может быть просмотрен в панели управления, а также в самом письме от хостера.</p>
47 <p>Чтобы разобраться с подключением через консоль в Windows, нужно запустить соответствующую службу, а затем выполнить в ней запрос вроде ssh root@185.104.114.90. Здесь root - это логин для подключения, который был получен в письме, а 185.104.114.90 - IP-адрес имеющегося сервера. Он может быть просмотрен в панели управления, а также в самом письме от хостера.</p>
48 <p>Дополнительно у команды может быть написан параметр -p. После него прописывается номер порта. По умолчанию используется порт 22. Если на сервере настроен другой, система потребует указать его вручную после -p.</p>
48 <p>Дополнительно у команды может быть написан параметр -p. После него прописывается номер порта. По умолчанию используется порт 22. Если на сервере настроен другой, система потребует указать его вручную после -p.</p>
49 <p>Как только упомянутая команда будет обработана, компьютер-клиент SSH предложит добавить устройство в качестве известного. В командной строке потребуется набрать yes, а затем нажать "Ввод". Теперь указывается пароль доступа к серверу. Как только операция будет обработана, подключение по имеющемуся SSH окажется завершенным. Все команды будут обрабатываться и выполняться на удаленной машине, к которой установлено подключение.</p>
49 <p>Как только упомянутая команда будет обработана, компьютер-клиент SSH предложит добавить устройство в качестве известного. В командной строке потребуется набрать yes, а затем нажать "Ввод". Теперь указывается пароль доступа к серверу. Как только операция будет обработана, подключение по имеющемуся SSH окажется завершенным. Все команды будут обрабатываться и выполняться на удаленной машине, к которой установлено подключение.</p>
50 <h3>Через PuTT</h3>
50 <h3>Через PuTT</h3>
51 <p>Windows младше 10 версии не имеют встроенного SSH. В этом случае потребуется воспользоваться сторонним программным обеспечением - PuTT. Чтобы подключиться через него, потребуется:</p>
51 <p>Windows младше 10 версии не имеют встроенного SSH. В этом случае потребуется воспользоваться сторонним программным обеспечением - PuTT. Чтобы подключиться через него, потребуется:</p>
52 <ol><li>Запустить приложение.</li>
52 <ol><li>Запустить приложение.</li>
53 <li>Во вкладке Session указать Host Name (IP-адрес сервера), Port (по умолчанию 22, но, если порт другой, он прописывается в соответствующей области).</li>
53 <li>Во вкладке Session указать Host Name (IP-адрес сервера), Port (по умолчанию 22, но, если порт другой, он прописывается в соответствующей области).</li>
54 <li>Убедиться в том, что в качестве типа соединения установлен именно SSH.</li>
54 <li>Убедиться в том, что в качестве типа соединения установлен именно SSH.</li>
55 <li>Нажать на кнопку Open.</li>
55 <li>Нажать на кнопку Open.</li>
56 </ol><p>Если введенные данные оказались правильными, на устройстве появится окно консоли, в котором требуется указать логин и пароль для того, чтобы установить подключение через SSH. В процессе первого запуска появится запрос на добавление используемого устройства в список известных.</p>
56 </ol><p>Если введенные данные оказались правильными, на устройстве появится окно консоли, в котором требуется указать логин и пароль для того, чтобы установить подключение через SSH. В процессе первого запуска появится запрос на добавление используемого устройства в список известных.</p>
57 <h3>Через Linux и MacOS</h3>
57 <h3>Через Linux и MacOS</h3>
58 <p>Теперь понятно, как подключиться по имеющемуся SSH в Windows. Но некоторые пользователи работают с операционными системами MacOS или Linux. Там соответствующая операция реализовывается чуть иначе.</p>
58 <p>Теперь понятно, как подключиться по имеющемуся SSH в Windows. Но некоторые пользователи работают с операционными системами MacOS или Linux. Там соответствующая операция реализовывается чуть иначе.</p>
59 <p>Через терминал Linux никаких дополнительных приложений не нужно - все работает "из коробки":</p>
59 <p>Через терминал Linux никаких дополнительных приложений не нужно - все работает "из коробки":</p>
60 <ol><li>Запустить терминал. Для этого используется сочетание клавиш Ctrl + Alt + T.</li>
60 <ol><li>Запустить терминал. Для этого используется сочетание клавиш Ctrl + Alt + T.</li>
61 <li>Выполнить команду для подключения. У нее будет точно такой же синтаксис, как и в случае с Windows. Вместо root указывается имя пользователя.</li>
61 <li>Выполнить команду для подключения. У нее будет точно такой же синтаксис, как и в случае с Windows. Вместо root указывается имя пользователя.</li>
62 <li>Отправить запрос на обработку.</li>
62 <li>Отправить запрос на обработку.</li>
63 </ol><p>Если хост и порт прописаны верно, на следующем этапе система предложит ввести логин и пароль. При первом подключении предлагается добавить устройство в список известных. Остается ввести команду yes и нажать на "Ввод".</p>
63 </ol><p>Если хост и порт прописаны верно, на следующем этапе система предложит ввести логин и пароль. При первом подключении предлагается добавить устройство в список известных. Остается ввести команду yes и нажать на "Ввод".</p>
64 <p>Если IP-адрес или порт прописаны неверно, на экране появится сообщение об ошибке - Connection Refused. Оно также может сигнализировать о том, что доступ запрещен брандмауэром на удаленном сервере. Для разрешения подключения потребуется:</p>
64 <p>Если IP-адрес или порт прописаны неверно, на экране появится сообщение об ошибке - Connection Refused. Оно также может сигнализировать о том, что доступ запрещен брандмауэром на удаленном сервере. Для разрешения подключения потребуется:</p>
65 <ul><li>на сервере с Ubuntu/Debian выполнить команду $ sudo ufw allow 22/tcp;</li>
65 <ul><li>на сервере с Ubuntu/Debian выполнить команду $ sudo ufw allow 22/tcp;</li>
66 <li>на сервере с CentOS/Fedora выполнить команду $ firewall-cmd -permanent -zone =public -add-port=22/tcp.</li>
66 <li>на сервере с CentOS/Fedora выполнить команду $ firewall-cmd -permanent -zone =public -add-port=22/tcp.</li>
67 </ul><p>22 в синтаксисе - это номер имеющегося порта. Если он отличается, соответствующая цифра должна быть прописана в записи. Теперь понятно, как установить SSH-подключение по паролю через Linux. В MacOS операция осуществляется аналогичным образом.</p>
67 </ul><p>22 в синтаксисе - это номер имеющегося порта. Если он отличается, соответствующая цифра должна быть прописана в записи. Теперь понятно, как установить SSH-подключение по паролю через Linux. В MacOS операция осуществляется аналогичным образом.</p>
68 <h2>Использование ключа</h2>
68 <h2>Использование ключа</h2>
69 <p>Ввод пароля - процесс, который многих раздражает. Поэтому можно воспользоваться ключом для подключения к серверу. Это безопасный подход к решению задачи.</p>
69 <p>Ввод пароля - процесс, который многих раздражает. Поэтому можно воспользоваться ключом для подключения к серверу. Это безопасный подход к решению задачи.</p>
70 <p>Суть операции заключается в генерации двух ключей: приватного и публичного. Второй копируется на сервер, первый остается на пользовательском компьютере и не передается по Сети. В этом случае SSH вход по паролю не потребуется. Подключение будет производиться через публичный ключ.</p>
70 <p>Суть операции заключается в генерации двух ключей: приватного и публичного. Второй копируется на сервер, первый остается на пользовательском компьютере и не передается по Сети. В этом случае SSH вход по паролю не потребуется. Подключение будет производиться через публичный ключ.</p>
71 <h3>Генерирование в Windows</h3>
71 <h3>Генерирование в Windows</h3>
72 <p>В Windows для удобства лучше пользоваться программой PuTTy. Вместе с ней нужно установить PuTTYgen. С помощью соответствующей утилиты получится генерировать необходимые пользователю ключи.</p>
72 <p>В Windows для удобства лучше пользоваться программой PuTTy. Вместе с ней нужно установить PuTTYgen. С помощью соответствующей утилиты получится генерировать необходимые пользователю ключи.</p>
73 <p>Чтобы установить соединение, потребуется:</p>
73 <p>Чтобы установить соединение, потребуется:</p>
74 <ol><li>Запустить PuTTYgen.</li>
74 <ol><li>Запустить PuTTYgen.</li>
75 <li>Кликнуть по Generate.</li>
75 <li>Кликнуть по Generate.</li>
76 <li>Водить курсором по рабочему столу, чтобы сгенерировать случайные значения ключей.</li>
76 <li>Водить курсором по рабочему столу, чтобы сгенерировать случайные значения ключей.</li>
77 <li>Нажать на Save private key, чтобы сохранить приватный ключ на жестком диске устройства. Место хранения - любое удобное пользователю.</li>
77 <li>Нажать на Save private key, чтобы сохранить приватный ключ на жестком диске устройства. Место хранения - любое удобное пользователю.</li>
78 <li>Скопировать публичный ключ в буфер обмена.</li>
78 <li>Скопировать публичный ключ в буфер обмена.</li>
79 <li>Запустить PuTTY и подключиться к серверу с помощью пароля.</li>
79 <li>Запустить PuTTY и подключиться к серверу с помощью пароля.</li>
80 <li>Последовательно ввести команды:</li>
80 <li>Последовательно ввести команды:</li>
81 <li>Вставить из буфера обмена ключ в файл authorized_keys. Для этого используется команда cat&gt; .ssh/authorized_keys.</li>
81 <li>Вставить из буфера обмена ключ в файл authorized_keys. Для этого используется команда cat&gt; .ssh/authorized_keys.</li>
82 <li>Нажать Ctrl + D.</li>
82 <li>Нажать Ctrl + D.</li>
83 <li>Вернуться в PuTTY и перейти в Connection-SSH-Auth.</li>
83 <li>Вернуться в PuTTY и перейти в Connection-SSH-Auth.</li>
84 <li>Нажать на Browse и указать путь к приватному ключу.</li>
84 <li>Нажать на Browse и указать путь к приватному ключу.</li>
85 </ol><p>Теперь можно свободно подключаться к серверу.</p>
85 </ol><p>Теперь можно свободно подключаться к серверу.</p>
86 <h3>Генерация в Linux/MacOS</h3>
86 <h3>Генерация в Linux/MacOS</h3>
87 <p>В Linux/MacOS процесс выглядит чуть иначе:</p>
87 <p>В Linux/MacOS процесс выглядит чуть иначе:</p>
88 <ol><li>Запустить терминал на локальном компьютере.</li>
88 <ol><li>Запустить терминал на локальном компьютере.</li>
89 <li>Выполнить команду ssh-keygen.</li>
89 <li>Выполнить команду ssh-keygen.</li>
90 <li>Нажать на Enter.</li>
90 <li>Нажать на Enter.</li>
91 </ol><p>Генератор предложит задать кодовую фразу для ключа. Это дополнительная мера безопасности. Ее придется вводить каждый раз при авторизации.</p>
91 </ol><p>Генератор предложит задать кодовую фразу для ключа. Это дополнительная мера безопасности. Ее придется вводить каждый раз при авторизации.</p>
92 <p>Теперь можно вернуться в терминал, а затем выполнить команду ssh-copy-id root@185.104.114.90. Ключи будут сопоставляться автоматически.</p>
92 <p>Теперь можно вернуться в терминал, а затем выполнить команду ssh-copy-id root@185.104.114.90. Ключи будут сопоставляться автоматически.</p>
93 <p><em>P. S. Интересуют компьютерные сети, сетевые технологии, протоколы передачи данных? Обратите внимание на следующие курсы в Otus:</em></p>
93 <p><em>P. S. Интересуют компьютерные сети, сетевые технологии, протоколы передачи данных? Обратите внимание на следующие курсы в Otus:</em></p>
94 <ul><li><em><a>Network engineer</a>;</em></li>
94 <ul><li><em><a>Network engineer</a>;</em></li>
95 <li><em><a>Network engineer. Basic</a>.</em></li>
95 <li><em><a>Network engineer. Basic</a>.</em></li>
96 </ul>
96 </ul>