SSH (безопасная оболочка) - это протокол, который помогает нам безопасно получать доступ к удаленным компьютерам, в основном так же, как Telnet, но с использованием алгоритмов шифрования, которые помогают нам обеспечивать безопасность нашего соединения, особенно если мы хотим получить доступ к компьютерам, которые выполняют важную функцию в организации.
Как правило, для доступа мы должны указать свое имя пользователя и адрес компьютера, чтобы сервер SSH запрашивал у нас пароль доступа:
ssh usuario@equiporemoto
С того момента, как клиент инициирует первое соединение между удаленным компьютером и нами, информация уже безопасно перемещается, не позволяя кому-либо получить наши учетные данные для доступа к указанному компьютеру, однако SSH - это очень адаптируемый протокол, который предлагает нам много возможности.
SCP
Первая из них - это возможность передавать файлы между клиентом и удаленным компьютером без необходимости монтировать FTP или NFS-сервер, просто используя SCP (Secure CoPy), который реализуется на большинстве SSH-серверов:
scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt
SSH-туннелирование
Эта функция очень полезна, поскольку позволяет нам отправлять и получать информацию, которая не обязательно является командами оболочки между клиентом и удаленным компьютером, например, обычный просмотр. Если вы не догадываетесь, как это можно использовать, подумайте о следующем: вам нужно получить доступ к странице, но в том месте, где вы находитесь, есть встроенный брандмауэр, который блокирует именно эту страницу, поэтому мы можем выполнить `` туннелирование '' с удаленным компьютером, на котором нет указанные блоки и просмотр указанной страницы через сеанс SSH:
ssh -D 8888 usuario@equiporemoto
После подключения наш SSH-клиент «слушает» порт 8888 в качестве прокси-сервера, поэтому мы можем настроить наш браузер, и весь трафик будет передаваться через сеанс SSH.
Другой пример, который приходит мне на ум, - это когда из-за некоторых географических ограничений мы не можем получить доступ к веб-сервису с того места, где мы находимся, при создании туннеля указанная веб-служба определяет IP-адрес нашего удаленного сервера в качестве источника, а не IP-адрес нашего клиента. Это в некоторой степени эквивалентно VPN (виртуальная частная сеть).
Обратный SSH
Если по какой-то причине нам нужен доступ к компьютеру, который находится за брандмауэром, и он не позволяет нам перенаправить на него трафик SSH, мы можем сделать «обратный SSH» таким образом, чтобы этот компьютер подключился к другому серверу SSH, к которому мы также можем подключиться, чтобы получить доступ к оборудованию за брандмауэром. На ум приходит пример, когда мы хотим помочь другу, который не знает, как настроить перенаправление на своем модеме, но нам нужен удаленный доступ к его компьютеру:
Друг -> Модем -> SSH сервер <- О нас
Следующие шаги относительно очень просты:
приятель
ssh -R 9999:localhost:22 usuario@servidorssh
О нас
ssh usuario@servidorssh
Попав внутрь SSH-сервера, мы можем связаться с командой нашего друга, используя
ssh amigo@localhost -p 9999
Как видите, вся магия заключается в параметре -R, который сообщает промежуточному серверу, что компьютер нашего друга теперь прослушивает порт 9999 как сервер.
Это лишь некоторые возможности, которые предлагает нам SSH, но я предлагаю вам поэкспериментировать, например, с другими; мы можем создавать автоматические сценарии с использованием ключей RSA, перенаправлять сеансы X (графический режим) в нашу графическую среду, и это лишь некоторые из них.