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> .ssh/authorized_keys.</li>
81
<li>Вставить из буфера обмена ключ в файл authorized_keys. Для этого используется команда cat> .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>