- Что такое протокол SSH
- Что значит «протокол»?
- Что значит «защищенный»?
- Для чего нужен SSH?
- Как подключаться по SSH?
- Fingerprint
- Подключение по SSH по паролю
- Подключение по SSH по ключу, без пароля
- Генерация ключей
- Загрузка публичного ключа на сервер
- ssh-agent
- Форвардинг (проброс) ключей
- Частые вопросы
- Чем Telnet отличается от SSH?
- Как подключиться к серверу по SSH?
- Где найти доступы к серверу
- Как подключиться по SSH с компьютера на ОС Windows
- Как подключиться к серверу по SSH с компьютера на Linux/MacOS
- Подключение с помощью SSH
- Что необходимо для подключения с помощью SSH
- Запуск сервера SSH
- Подключение с использованием имени и пароля
- Имя пользователя и пароль в фабричной ОС
- Соединение с помощью пары ключей
- Создание пары ключей
- Подключение
- Безопасный FTP
Что такое протокол SSH
SSH — защищенный протокол для удаленного доступа к компьютерам. Через SSH можно выполнять операции в командной строке компьютера, который физически находится в другом месте.
Иными словами, SSH — это дистанционная командная строка. Визуально вы работаете на своем компьютере, но в реальности — на другом.
Что значит «протокол»?
Протокол — это набор соглашений, правил, по которым разные программы могут обмениваться информацией. SSH — это набор правил, который известен и вашему компьютеру, и физически отдаленному компьютеру.
Пример: вы вводите команду удаления файла, и эта команда передается на другой компьютер и выполняется там. Ответ (или сообщение об ошибке) возвращается и показывается на вашем компьютере.
Что значит «защищенный»?
Вся информация передается в зашифрованном виде. Подобно тому, как некоторые сайты работают по HTTPS, шифруя информацию. Например, ваш онлайн-банкинг обязательно должен работать по защищенному соединению. В таком случае даже если всю информацию перехватывает злоумышленник, он не сможет расшифровать её.
Для чего нужен SSH?
Не всегда есть возможность физически находиться у компьютера, с которым нужно работать. Например, если вы хотите создать свой сайт, то он будет размещен на компьютере хостинг-провайдера. Этот компьютер может находиться на другом конце света. Вам нужен способ запускать команды на этом компьютере не выходя из своего дома.
Как подключаться по SSH?
Для подключения к удаленной машине по SSH нужен клиент — специальная программа. В *nix-подобных системах (Linux, macOS) клиент обычно установлен в системе по умолчанию, и достаточно открыть терминал. В Windows нужно скачать сторонний клиент, например, Putty.
Для подключения нужно указать адрес сервера и, опционально, имя пользователя и порт. Вот как выглядит команда при использовании консольного клиента (в терминале):
Например, для подключения к серверу 52.307.149.244 в аккаунт ivan нужно ввести:
Если не указывать порт, то будет использован порт SSH по умолчанию — 22 . Используемый порт задается при настройке SSH-сервера, программы, которая запущена на удаленном компьютере и ожидает подключения извне.
В графическом клиенте вроде Putty нужно ввести ту же информацию в соответствующие поля:
Fingerprint
При первом подключении появится сообщение:
Введите yes в первый раз.
Это нужно для повышения безопасности. При настройке SSH-сервера создается уникальная комбинация символов — fingerprint («отпечатки пальцев»). Ваш компьютер запоминает эту комбинацию и сверяет ее при каждом новом соединении. Если кто-то переустановит SSH-сервер, или всю операционную систему, или вообще заменит удаленный компьютер, сохранив его адрес, то при следующем соединении вы узнаете об этом, потому что изменится fingerprint.
Если fingerprint не меняется, то такое сообщение не будет появляться.
Подключение по SSH по паролю
Простейший вариант — подключение по паролю. После ввода команды ssh система запросит пароль:
Пароль придется вводить каждый раз.
Подключение по SSH по ключу, без пароля
Для удобного подключения по SSH (и многим другим сервисам) без ввода пароля можно использовать ключи.
Нужно создать пару ключей: приватный (закрытый) ключ и публичный (открытый) ключ. Приватный ключ нужно хранить и никогда никому не показывать. Публичный ключ можно показывать всем и распространять свободно.
Эти ключи связаны друг с другом таким образом, что зашифровав информацию одним ключом, расшифровать ее можно только другим. Например, если ваш друг зашифрует письмо вашим публичным ключом, то прочитать его сможете только вы, потому что для этого нужен ваш приватный ключ. И наоборот: если вы зашифруете что-то своим приватным ключом, то расшифровать его можно только вашим публичным ключом. Так как публичный ключ доступен всем, любой может расшифровать это сообщение. Но он может быть уверен, что сообщение пришло именно от вас. В этом заключается идея цифровой подписи.
Генерация ключей
Создадим пару ключей:
Программа запустится и спросит, куда сохранять ключи:
Нажмите Enter для сохранения в стандартное место — директорию .ssh/id_rsa в вашей домашней директории.
Программа запросит passphrase. Это вроде пароля для ключа. Можно просто нажать Enter и пропустить этот шаг. Или ввести passphrase — тогда его нужно будет вводить каждый раз, когда используется ключ.
Теперь у вас есть два файла:
/.ssh/id_rsa — приватный ключ. Никогда никому и никуда не передавайте его!
/.ssh/id_rsa.pub — публичный ключ. Спокойно распространяйте его.
В Windows можно использовать ssh-gen в подсистеме Ubuntu for Windows или в командной строке Git for Windows. Или создавать ключи графической утилитой вроде PuTTYgen.
Загрузка публичного ключа на сервер
Нужно добавить публичный ключ на сервер в файл
/.ssh/authorized_keys . Самый простой способ — запустить на локальной машине команду для копирования ключа:
Другой способ — подключиться по паролю, открыть в редакторе файл
/.ssh/authorized_keys и добавить в конец текст из вашего файла
Теперь при подключении пароль запрашиваться не будет 1 .
После включения соединений по ключу рекомендуется отключить подключение по паролю.
ssh-agent
При работе с ключами возможны две неудобные ситуации:
- Если при создании ключа вы указали passphrase (пароль для ключа), то вам придется вводить пароль при каждом подключении.
- Если у вас есть несколько ключей для разных целей, то при соединении по ssh придется указывать нужный ключ вручную
ssh-agent решает эти проблемы. Этот агент аутентификации (authentication agent) работает на фоне в *nix-системах. В зависимости от системы, вам, возможно, придется установить и настроить его автозапуск самостоятельно.
Если добавить ключ к агенту, то:
- для него больше не будет спрашиваться passphrase
- не нужно будет вводить ключ вручную — он будет автоматически использован при соответствующем подключении
ssh-add /home/demo/.ssh/id_rsa добавит ключ id_rsa в запущенный в системе агент. Если у него есть passphrase, то агент попросит ввести его.
Если запустить ssh-add без аргументов, то будут добавлены ключи
Список добавленных в агент ключей можно посмотреть командой ssh-add -L :
ssh-agent привязан к сессии. Поэтому, например, если перезагрузить компьютер, то ключи нужно будет добавлять в агент заново.
Форвардинг (проброс) ключей
Если вы подключились к удаленному серверу X, и с него хотите подключиться к другому серверу Y, например, чтобы сделать git pull с GitHub’а, то придется держать копию ваших ключей на сервере X.
Утилита ssh с флагом -A позволяет «пробросить» ключи с подключаемой машины в удаленную:
Ключи, добавленные к агенту аутентификации (ssh-agent) станут доступными на удаленном сервере. При этом файлы-ключи физически не будут находиться на сервере.
Частые вопросы
Чем Telnet отличается от SSH?
Telnet это конкретная программа с графическим интерфейсом, с помощью которой можно соединяться по SSH. Обычно ей пользуются только Windows пользователи, в Linux и MacOS используют консольную утилиту ssh.
Источник
Как подключиться к серверу по SSH?
SSH-протокол (англ. Secure Shell ) используется для безопасного удалённого управления операционной системой. По SSH можно подключиться к любому серверу с операционной системой семейства Linux.
Если на вашем сервере установлена ОС Windows Server — используйте подключение по RDP.
Где найти доступы к серверу
Для подключения по SSH потребуется указать IP-адрес, пароль и логин администратора сервера. Эти данные можно найти на почте, привязанной к аккаунту (после активации VDS приходит письмо с инструкцией) или в Личном кабинете — в разделе «Товары» откройте подраздел «Виртуальные серверы» — выберите сервер в списке, сверху «Инструкция» .
В новой вкладке откроется страница с необходимой информацией.
Как подключиться по SSH с компьютера на ОС Windows
Если на вашем компьютере установлена ОС Windows, а на сервере — UNIX-подобная система (например, Ubuntu, Debian, CentOS и др.), то для установки SSH-соединения можно использовать PuTTY. Это бесплатная программа под Windows состоит из одного запускаемого файла и не требует установки.
Чтобы установить соединение при помощи PuTTY, необходимо проделать следующие действия:
0. Скачайте нужную версию PuTTY по ссылке
1. Запустите файл putty.exe. Откроется окно программы:
По умолчанию никаких настроек программы менять не нужно. Достаточно убедиться, что указан порт Port 22 и тип соединения Connection type — SSH.
2. В поле Host Name (or IP address) введите IP-адрес сервера. Нажмите кнопку Open .
Может появиться предупреждение системы безопасности PuTTY — оно срабатывает при подключении к новому серверу. Нажмите Да — и соединение продолжится.
3. В появившейся командной строке введите имя пользователя, под которым будет выполнен вход на сервер. Для первого подключения к серверу или подключения в режиме администратора используется логин root .
4. В следующей строке введите пароль пользователя. При вводе пароля символы в командной строке не отображаются: можно набрать пароль вслепую или вставить кликом правой кнопки мыши, предварительно скопировав (Ctrl+C) его из инструкции. После ввода нажмите клавишу Enter . Если имя пользователя или пароль указаны неправильно, выведется ошибка « Access denied ». В случае успешного подключения откроется командная строка виртуального сервера.
Как подключиться к серверу по SSH с компьютера на Linux/MacOS
Подключиться по SSH к виртуальному серверу можно через терминал — в обоих случаях это приложение предустановлено.
В операционных системах семейства Linux (Ubuntu и др.) его можно открыть сочетанием клавиш Ctrl+Alt+T .
В MacOS приложение Терминал можно найти через Spotlight (иконка поиска в правом верхнем углу экрана).
Подключиться к виртуальному серверу по SSH можно одной командой:
где вместо username нужно указать логин пользователя, вместо ip-adress — IP-адрес сервера, к которому вы подключаетесь. Если на сервере используется нестандартный порт SSH, команда изменится:
где 22 — порт, по которому будет произведено подключение по SSH.
После ввода команды система запросит подтверждение подключения (необходимо ввести yes и нажать Enter ) и пароль пользователя. После ввода нажмите клавишу Enter — откроется SSH-соединение:
Источник
Подключение с помощью SSH
С помощью OpenSSH можно подключиться к тестовым устройствам и виртуальным машинам фабрики, а также выполнять команды или передавать файлы. OpenSSH (Secure Shell) — Стандартный протокол для безопасного подключения терминала.
Вы можете использовать SSH для подключения ко всем образам ОС фабрики.
Что необходимо для подключения с помощью SSH
Чтобы подключиться к устройству с помощью SSH, вам потребуется:
- Сервер SSH запущен на устройстве операционной системы фабрики
- SSH-клиент на техническом компьютере. Windows 10 включает клиент SSH, установленный по умолчанию.
- IP-адрес устройства, к которому вы подключаетесь. в фабричной ос получите IP-адрес с главного экрана Composer приложения фабрики или в правом верхнем углу фабрики Orchestrator.
- Проверка подлинности, настроенная для SSH. Это может быть одно из следующих:
- Имя пользователя и пароль
- Пара ключей
Запуск сервера SSH
На изображениях, содержащих манифест компонента Виндовскоренонпродуктионфм, можно добавить WCOS_OPENSSH_AUTOSTART компонент для автоматического запуска сервера SSH.
если образ не настроен для автоматического запуска сервера ssh, можно запустить сервер ssh вручную с помощью Windows портала устройств .
- Откройте браузер на техническом компьютере и перейдите по URL-адресу устройства вашей ОС фабрики.
- После подключения к порталу устройств перейдите на вкладку SSH в области слева. Вкладка SSH находится в нижней части списка.
- Выберите включить SSH.
Подключение с использованием имени и пароля
Чтобы иметь возможность подключиться с помощью имени пользователя и пароля, необходимо сначала настроить имя пользователя и пароль. Настройка имени пользователя и пароля SSH зависит от продукта фабричной ОС, который вы используете.
Имя пользователя и пароль в фабричной ОС
Заводская ОС включает встроенную учетную запись администратора, которую можно использовать для подключения по протоколу SSH:
- Имя пользователя: Факторюсер
- Пароль: Виндовскоре
Вы можете настроить имя пользователя и пароль с помощью SSHPassword параметров и в SSHPassword .
Соединение с помощью пары ключей
Если у вас есть пара ключей для SSH (Дополнительные сведения см. в документации клиента SSH), ее можно использовать вместо имени пользователя и пароля.
Вам потребуется открытый ключ в формате OpenSSH. Запустите ssh-keygen.exe на техническом компьютере, чтобы создать его. ssh-keygen входит в состав Windows.
Создание пары ключей
В командной строке на техническом компьютере выполните команду, ssh-keygen.exe чтобы создать общедоступную и закрытую пару ключей. При выполнении этой команды можно сохранить ключи в расположении на компьютере, а также задать пароль:
Эта команда выводит запрос на ввод следующих сведений и предоставляет выходные данные, аналогичные приведенным ниже.
Перейдите в папку, в которой вы сохранили ключи, вы увидите закрытый ключ, у которого нет расширения и открытый ключ с расширением PUB.
Откройте файл открытого ключа в текстовом редакторе. Открытый ключ не является конфиденциальным. Вот как они выглядят:
Скопируйте содержимое открытого ключа в буфер обмена.
Подключение на устройство вкос с помощью портала устройств. Навеигате на вкладку SSH в левой области и скопируйте открытый ключ из буфера обмена в поле открытый ключ для нужного пользователя.
Подключение
После настройки проверку подлинности можно подключиться к устройству ОС фабрики.
Откройте окно командной строки на техническом компьютере.
Подключение на устройство:
- Для подключения с использованием имени пользователя и пароля:
Где user — это имя пользователя, выбранное при настройке SSH, а 192.168.1.2 — IP-адрес устройства вашей ОС фабрики.
- Подключение с помощью пары ключей
Где C:\Users\User/.ssh/id_rsa идентификатор закрытого ключа user — это имя пользователя, выбранное при настройке SSH, а 192.168.1.2 — IP-адрес устройства вашей ОС фабрики.
Введите пароль для пользователя, если вы подключаетесь с именем пользователя и паролем, или если вы настроили ключ так, чтобы он затребовал пароль.
Безопасный FTP
Вы можете использовать SSH для передачи файлов по протоколу SFTP. Если вы включили SSH на устройстве ОС фабрики, вы также сможете подключиться по протоколу SFTP.
WinSCP — это наиболее ПОПУЛЯРНЫЙ клиент GUI для передачи файлов по протоколу sftp в Windows. Чтобы узнать, как использовать его, следуйте инструкциям в документации .
Если вы предпочитаете программу командной строки, вы можете использовать sftp и scp :
указанные выше служебные программы включены в Windows и могут запускаться путем запуска командной строки.
Источник