Соединения SSH могут вводить в заблуждение, поэтому вот краткое изложение того, что я узнал за последние несколько недель, используя этот протокол для подключения к виртуальным экземплярам Linux в рамках моего проекта Insurance Tax Validator.
В эпоху, когда киберпреступность находится на пике 📈, технические руководители разрабатывают новые и интересные методы для защиты соединений и данных. Без сомнения, мы боялись, что кто-то узнает наш пароль в Facebook или Instagram, потому что ничто не помешает им войти в ваш профиль.
Разработчики создают свои собственные экземпляры Linux и в дальнейшем используют ресурсы своего компьютера для их запуска. Этот метод медленный и неэффективный при длительном использовании. Здесь мы должны поблагодарить облачных поставщиков за размещение экземпляров Windows или Linux в облаке и предоставление нам возможности удаленного подключения и управления этими машинами. Но если эти размещенные в облаке виртуальные машины общедоступны для всех и каждого, что может помешать хакеру подключиться к ним и использовать их для майнинга биткойнов? Здесь протокол соединения SSH спасает положение.
Что это? 🤷♀️
Протокол SSH (также называемый Secure Shell) использует шифрование для защиты соединения между клиентом и сервером. Вся аутентификация пользователя, команды, вывод и передача файлов зашифрованы для защиты от атак в сети. Подробнее о том, как работает протокол SSH, смотрите на странице протокола.
Проще говоря, выделенные пользователи с помощью этого великолепного протокола могут безопасно подключаться к удаленным машинам. Чтобы узнать больше о протоколе и процессе, которому он следует для транспорта, аутентификации и подключения, перейдите по ссылкам на документы RFC.
Документы RFC 📝
Когда протокол SSH стал популярным, Тату Юлонен отнесла его в IETF для стандартизации. Теперь это интернет-стандарт, описанный в следующих документах:
RFC 4251 — The Secure Shell (SSH) Protocol Architecture RFC 4253 — The Secure Shell (SSH) Transport Layer Protocol RFC 4252 — The Secure Shell (SSH) Authentication Protocol RFC 4254 — The Secure Shell (SSH) Connection Protocol
Модель OSI ✏️
Модель OSI была первоначально разработана группой Open Systems Interconnection для продвижения протокола OSI в попытке создать стандартизированную сетевую архитектуру для сетевых коммуникаций. К сожалению, хотя протокол OSI поддерживал больше виртуальных адресов, его сложность сделала протокол TCP/IP более популярным среди сетевых специалистов. По иронии судьбы, простота протокола TCP/IP привела к исчерпанию адресов IPv4, а его новый протокол IPv6 очень напоминает по сложности исходный протокол OSI. Протокол SSH является частью Уровня 7: Прикладной уровень.
SSH — это протокол прикладного уровня модели OSI, использующий криптографию, чтобы обеспечить удаленный вход в систему и другие сетевые службы для безопасной работы в незащищенной сети. SSL работает внутри TCP и шифрует данные внутри TCP-пакетов. IPsec заменяет IP зашифрованной версией уровня IP.
Лучшие практики ⚠️
Многие будущие разработчики иногда используют самый простой подход, когда речь идет о SSH, например, вход без пароля. Ничто, кроме IP-адреса, не позволяющее пользователям Интернета подключаться к своему SSH, ясно, что в этом случае SSH можно сделать небезопасным. Чтобы всегда быть на высоте, когда дело доходит до SSH, выполните следующие действия:
- Включите SSH на вашем пульте 🖥
- Получить IP с удаленного 🖥
- Создайте ключи SSH (общедоступные 🔑 на удаленном компьютере и закрытые 🔐 на клиенте).
- Защитите паролем частную 🔑
- Делитесь 🔑 между 💻 в LINUX или WINDOWS
- Установить соединение через командную строку
1. Как включить SSH ✅
Debian: LINK Oracle Linux: LINK Fedora: LINK Arch Linux: LINK Centos: LINK For Windows remote connections, use RDC: LINK
2. Получите IP-адрес 🖥
Как правило, разработчики используют IPV4, когда речь идет о соединениях SSH. Используйте следующие команды терминала для отображения IP-адреса текущего компьютера:
Linux
~ curl ifconfig.me ~ curl ipinfo.io/ip ~ curl api.ipify.org ~ curl checkip.dyndns.orgifconfig -a ~ ip addr (ip a)
Windows c:\> ipconfig c:\> ipconfig /all
3. Открытый ключ 🔑
Формат файла открытого ключа не является формальным стандартом (это информационный документ), но многие реализации поддерживают этот формат.
Чтобы сгенерировать ключ SSH в этих операционных системах, перейдите по ссылкам:
Windows: LINK Linux: LINK MacOS: LINK
Подробное руководство 🛠
Эта статья только поверхностно касается SSH и его функций, чтобы узнать больше о вариантах использования SSH или о том, что можно и чего нельзя делать, перейдите по одной из ссылок ниже:
SSH for Beginners: LINK SSH Tutorials: LINK SSH on Linux: LINK SSH Basics: LINK SSH Examples: LINK
Или посмотрите это замечательное видео от ребят из Traversy Media:
[статья~] $ sudo shutdown 🏁
Будь то экземпляр Windows или Linux, теперь все готово для безопасного подключения к удаленному устройству.
Если вам нужна виртуальная машина, но у вас нет необходимых вычислительных ресурсов для размещения и использования собственной, Oracle поможет вам. Благодаря непревзойденным ценам на облачные услуги у вас есть возможность бесплатно опробовать все доступные облачные приложения в течение 30 дней без каких-либо условий.
Подпишитесь, чтобы получить: Бесплатная 30-дневная пробная версия услуг Oracle Cloud.
Спасибо, что нашли время, чтобы прочитать мою статью, чтобы увидеть больше подобных сообщений, подпишитесь на меня в Linkedin, Twitter или Medium.
- *Все представления принадлежат мне, а не Oracle**
📝 Читайте эту историю позже в Журнале.
👩💻 Просыпайтесь каждое воскресное утро и слушайте самые примечательные новости недели в области технологий, ожидающие в вашем почтовом ящике. Читать информационный бюллетень Noteworthy in Tech.