Привет! С вами снова Merion Academy — платформа доступного IT образования . Удаленный доступ к системам давно стал необходимостью, и сейчас с трудом можно представить, что было бы, если бы мы не могли управлять компьютерами удаленно. Существует множество способов установить соединение с удаленным компьютером в зависимости от используемой операционной системы, но чаще всего используют два протокола:
- Secure Shell ( SHH ) для компьютеров на базе Linux
- Протокол удаленного рабочего стола ( RDP — Remote Desktop Protocol) для компьютеров под управлением Windows
Эти два протокола используют клиентское и серверное приложения для установления удаленного соединения. Эти инструменты позволяют вам получать удаленный доступ и управлять другими компьютерами, передавать файлы и делать практически все, что вы могли бы сделать, физически сидя перед компьютером.
Прежде чем вы сможете установить безопасный протокол удаленного рабочего стола с удаленным компьютером, необходимо выполнить несколько основных требований:
Как играть удалённо с ноутбука через интернет и Steam на крутом ПК, который стоит дома. Remote play
- Удаленный компьютер должен быть постоянно включен и быть подключенным к сети
- Клиентские и серверные приложения должны быть установлены и активированы
- Вам нужно знать IP-адрес или имя удаленного компьютера, к которому вы хотите подключиться
- У вас должны быть необходимые полномочия для доступа к удаленному компьютеру
- Настройки межсетевого экрана должны разрешать удаленное подключение
Что такое SHH?
Secure Shell , иногда называемый Secure Socket Shell , — это протокол, который позволяет безопасно подключаться к удаленному компьютеру или серверу при помощи текстового интерфейса.
Когда безопасное соединение SSH будет установлено, то запустится сеанс оболочки, и вы сможете управлять сервером, вводя команды на клиентской стороне на вашем локальном компьютере.
Чаще всего этот протокол используют системные и сетевые администраторы, а также все, кому необходимо удаленно управлять компьютером и при этом иметь высокий уровень защиты.
Как работает SSH?
Для того, чтобы установить SSH-соединение, необходимо иметь два компонента: клиентскую часть и соответствующий компонент на стороне сервера. Клиентская часть, или клиент, SSH – это приложение, которое устанавливается на компьютер, который вы будете использовать для подключения к другому компьютеру или серверу. Клиент, чтобы инициировать соединение, использует предоставленную информацию об удаленном хосте и устанавливает зашифрованное соединение, если учетные данные были проверены.
На стороне сервера есть компонент, называемый демоном SSH (SSH daemon — sshd). Он постоянно прослушивает определенный порт TCP/IP для возможных клиентских запросов на подключение. Как только клиент инициирует соединение, демон SSH ответит сообщением о программном обеспечении и версиях протокола, которые он поддерживает, и они обменяются своими идентификационными данными.
Версия протокола SSH по умолчанию для связи сервера SSH и клиента SSH – 2.
Как настроить удалённый рабочий стол?
Как установить SSH-соединение
Так как для установки SSH-соединения требуются как клиентский, так и серверный компоненты, необходимо убедиться, то они установлены на локальном и удаленном компьютерах соответственно. OpenSSH – это инструмент SSH с открытым исходным кодом, который широко используется для дистрибутивов Linux. Установка OpenSSH относительно проста. Для этого требуется доступ к терминалу на сервере и к компьютеру, который вы используете для подключения. Отметим, что в Ubuntu SSH-сервер по умолчанию не установлен.
Как установить клиентскую часть OpenSSH
Прежде чем устанавливать клиента SSH, убедитесь в том, что он еще не установлен. Во многих дистрибутивах Linux он уже есть. Для компьютеров с Windows вы можете установить PuTTY или любой другой клиент по вашему выбору, чтобы получить доступ к серверу.
Для того, чтобы проверить есть ли клиент в вашей системе на базе Linux, вам необходимо сделать следующее:
- Загрузить терминал SSH. Вы можете выполнить поиск по слову «терминал» или нажать CTRL+ALT+T на клавиатуре.
- Введите ssh и нажмите Enter.
- Если клиент установлен, то вы получите вот такой ответ:
Это означает, что вы готовы удаленно подключитьсяк физическому компьютеру или виртуальной машине. В противном случае вам придется установить клиентскую часть OpenSSH:
- Выполните следующую команду, чтобы установить клиент OpenSSH на свой компьютер: sudo apt-get install openssh-client
- Введите пароль привилегированного пользователя по запросу
- Нажмите Enter, чтобы завершить установку.
Теперь вы можете подключиться по SSH к любому компьютеру с установленным серверным приложением при условии, что у вас есть необходимые привилегии для получения доступа, а также имя хоста или IP-адрес.
Как установить серверную часть OpenSSH
Для того, чтобы принимать SSH-подключения, на компьютере должна быть установлена серверная часть программного инструментария SSH.
Если вы хотите сначала проверить, есть ли сервер OpenSSH в системе Ubuntu удаленного компьютера, который будет принимать SSH-подключения, вы можете попробовать подключиться к локальному хосту:
- Откройте терминал на сервере. Вы можете выполнить поиск по слову «терминал» или нажать CTRL+ALT+T на клавиатуре.
- Введите ssh localhost и нажмите Enter.
- Для систем, в которых не установлен SSH-сервер, ответ будет выглядеть вот так:
Если это так, что вам необходимо устрановить сервер OpenSSH. Не закрывайте терминал и:
- Выполните следующую команду, чтобы установить сервер SSH:sudo apt-get install openssh-server ii
- Введите пароль привилегированного пользователя по запросу.
- Нажмите Enter или введите Y, чтобы продолжить установку после запроса на свободное место на диске.
Необходимые вспомогательные файлы будут установлены, а затем вы сможете проверить, работает ли SSH-сервера на компьютере, введя следующую команду:
sudo service ssh status
Ответ в терминале должен выглядеть примерно так, если служба SSH работает правильно:
Main PID: 3165 (sshd)
Еще один способ проверить, правильно ли установлен сервер OpenSSH и будет ли он принимать подключения, — это попробовать снова запустить команду ssh localhost в командной строке терминала. Ответ при первом запуске команды будет примерно следующий:
The authenticity of host ‘localhost (127.0.0.1)’ can’t be established. ECDSA key fingerprint is SHA256:9jqmhko9Yo1EQAS1QeNy9xKceHFG5F8W6kp7EX9U3Rs. Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘localhost’ (ECDSA) to the list of known hosts.
Введите yes или y, чтобы продолжить.
Поздравляем! Вы настроили свой сервер для приема запросов на SSH- подключение от другого компьютера при помощи клиента SSH.
Теперь вы можете редактировать файл конфигурации демона SSH. Например, вы можете изменить порт по умолчанию для SSH-соединений. Для этого в командной строке терминала выполните эту команду:
sudo nano /etc/ssh/sshd_config
Файл конфигурации откроется в редакторе, который вы выберете. В данном случае мы использовали Nano . Если вам тоже нужно установить Nano, выполните эту команду:
sudo apt-get install nano
Обратите внимание, что службу SSH необходимо перезапускать каждый раз, когда вы вносите какие-либо изменения в файл sshd_config. Это можно сделать, выполнив эту команду:
sudo service ssh restart
Как подключиться через SSH
Теперь, когда у вас есть клиент и сервер OpenSSH, установленные на обоих компьютерах, вы можете установить безопасное удаленное соединение со своими серверами. Для этого:
Если компьютер, к которому вы пытаетесь удаленно подключиться, находится в той же сети, что и локальный компьюетр, то лучше использовать частный IP-адрес вместо общедоступного IP-адреса. В противном случае вам придется использовать только общедоступный IP-адрес. Кроме того, убедитесь, что вы знаете правильный TCP-порт, который OpenSSH прослушивает для запросов на подключение, и что параметры переадресации портов верны. Порт по умолчанию — 22, если никто не менял конфигурацию в файле sshd_config. Вы также можете просто добавить номер порта после IP-адреса хоста.
Вот пример запроса на подключение с использованием клиента OpenSSH с указанием номера порта:
The authenticity of host ‘185.52.53.222 (185.52.53.222)’ can’t be established. ECDSA key fingerprint is SHA256:9lyrpzo5Yo1EQAS2QeHy9xKceHFH8F8W6kp7EX2O3Ps. Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘ 185.52.53.222’ (ECDSA) to the list of known hosts.
Теперь вы можете управлять удаленным компьютером при помощи своего терминала. Если у вас возникли проблемы с подключением к удаленному серверу, убедитесь, что:
- IP-адрес удаленного компьютера указан верно
- Порт, который прослушивает демон SSH, не заблокирован межсетевым экраном и правильно переадресовывается
- Ваше имя пользователя и пароль указаны верно
- Программное обеспечение SSH установлено верно
Дальнейшие действия по SSH
Теперь, когда вы можете установить соединение со своим сервером с помощью SSH, мы настоятельно рекомендуем выполнить еще несколько шагов для повышения безопасности SSH. Если вы оставите настройку со значениями по умолчанию, она с большей вероятностью будет взломана, и ваш сервер может легко быть атакован.
Вот некоторые из предложений по усилению безопасности SSH путем редактирования файла конфигурации sshd:
- Измените TCP-порт по умолчанию, который прослушивает демон SSH. Измените его с 22 на вариант побольше, например, 24596. Не используйте номер порта, который легко угадать, например, 222, 2222 или 22222.
- Используйте пары ключей SSH для аутентификации при входе в SSH без пароля. Они и безопаснее, и позволяют входить в систему без необходимости использовать пароль. Это быстрее и удобнее.
- Отключите вход в систему на основе пароля на вашем сервере. Если ваш пароль будет взломан, это исключит возможность его использования для входа на ваши серверы. Прежде чем отключить возможность входа с использованием паролей, важно убедиться, что аутентификация с использованием пар ключей работает корректно.
- Отключите root-доступ к вашему серверу и используйте обычную учетную запись с помощью команды su – команды для переключения на root-пользователя.
Вы также можете использовать TCP Wrappers для ограничения доступа к определенным IP-адресам или именам хостов. Настройте, какой хост может подключаться с помощью TCP Wrappers, отредактировав файлы /etc/hosts.allow и etc/hosts.deny.
Обратите внимание, что разрешенные хосты определяются через запрещенные хосты. Например, чтобы разрешить SSH-доступ к одному хосту, вам сначала нужно запретить все хосты, добавив следующие две строки в файл etc/hosts.deny:
sshd : ALL
ALL : ALL
Затем в файле etc/hosts.allow вам необходимо добавить строку с разрешенными хостами для службы SSH. Это может быть один IP-адрес, диапазон IP-адресов или имя хоста: sshd: 10.10.0.5, LOCAL.
Убедитесь, что ваша информация для входа в систему всегда защищена, и применяйте меры безопасность на нескольких уровнях. Используйте различные методы, чтобы ограничить доступ SSH к вашим серверам, или используйте сервисы, которые будут блокировать любого, кто попытается использовать грубую силу, чтобы получить доступ к вашим серверам. Один из примеров такой службы — Fail2ban .
VNC через SSH
Для пользователей, привыкших работать в графической среде рабочего стола с системой управления удаленным компьютером ( VNC — Virtual Network Computing ), есть возможность полностью зашифровать соединения с помощью туннелирования SSH. Чтобы туннелировать соединения VNC через SSH, вам нужно будет запустить эту команду в терминале на вашем компьютере с Linux или UNIX:
$ ssh -L 5901:localhost:5901 -N -f -l username hostname_or_IP
Вот разбор команды выше:
- ssh: запускает клиентскую программу SSH на вашем локальном компьютере и обеспечивает безопасное подключение к серверу SSH на удаленном компьютере.
- -L 5901:localhost:5901: указывает, что локальный порт для клиента на локальном компьютере должен быть переадресован на указанный хост и порт удаленного компьютера. В этом случае локальный порт 5901 на локальном клиенте перенаправляется на тот же порт удаленного сервера.
- -N: указывает переслать порты, но не выполнять удаленную команду.
- -f: отправляет SSH в фоновый режим после ввода пароля, непосредственно перед выполнением команды. Затем вы можете свободно использовать терминал для ввода команд на локальном компьютере.
- -l username: введенное здесь имя пользователя будет использоваться для входа на указанный вами удаленный сервер.
- hostname_or_IP: это удаленная система с сервером VNC. Примером IP-адреса может быть 172.16.0.5, а примером имени хоста может быть myserver.somedomain.com.
Вы также можете подключиться к удаленному серверу через SSH- туннель с компьютера с Windows, используя PuTTY. В окне конфигурации PuTTY выполните следующее:
- Перейдите в Connections (Соединения) -> SSH -> Tunnels (Туннели)
- В поле Source port (Порт источника) введите 5901
- В поле Destination (Адресат) введите localhost:5901
- Запустите сеанс SSH как обычно
- Подключитесь к серверу с помощью клиента VNC по вашему выбору
Что такое RDP?
Протокол удаленного рабочего стола ( RDP — Remote Desktop Protocol ) — это протокол, разработанный Microsoft. Он используется для удаленного контроля и управления компьютерами с операционной системой Windows.
В отличие от Secure Shell, соединения, установленные с помощью RDP-клиента, предоставляют пользователю графический интерфейс, через который он может получить доступ к удаленному компьютеру и управлять им так же, как и своим локальным компьютером.
Использование служб удаленного рабочего стола, ранее известных как службы терминалов, позволяет системным администраторам и системным инженерам легко управлять удаленными компьютерами, подключенными к локальной сети или Интернету.
Но у всего есть своя цена. Если вы не используете виртуальную защищенную сеть ( VPN — virtual private network ), подключение через RDP будет гораздо менее безопасно, чем SSH, потому что вы напрямую подключаетесь к Интернету. Существует множество автоматизированных сценариев, которые постоянно ищут слабые места в вашем соединении, особенно это касается открытых портов, которые используют подключения к удаленному рабочему столу Windows. В этом случае настоятельно рекомендуется иметь сложные и надежные пароли и регулярно их менять. Это не делает соединения RDP более безопасными, но все же делает их менее уязвимыми.
Как работает протокол удаленного рабочего стола?
Подключение к удаленному рабочему столу Windows основано на довольно простой модели клиент-сервер с использованием протокола удаленного рабочего стола (RDP). После его включения серверная служба удаленного рабочего стола Windows начинает прослушивать запросы на подключение через порт 3389. Всякий раз, когда вы пытаетесь подключиться к серверу Windows, вам нужно будет указать действительное имя пользователя для учетной записи, которую вы используете для удаленного доступа. Получив доступ к серверу, вы сможете управлять приложениями, передавать файлы между двумя компьютерами и практически выполнять любые задачи, которые вы можете выполнять локально с соответствующей учетной записью.
Независимо от того, какая у вас версия операционной системы Windows, вы сможете установить безопасное удаленное подключение к другому компьютеру, поскольку клиент удаленного рабочего стола доступен по умолчанию. Тем не менее, удаленный доступ к компьютеру возможен только в том случае, если он работает под управлением Pro, Enterprise или Server версии операционной системы Windows. Таким образом, можно сделать вывод, что RDP-соединения возможны только между компьютерами с установленной на них ОС Windows.
Как установить RDP-соединение
Для установления подключения к удаленному рабочему столу с другим компьютером по сети необходимо включить службу сервера удаленного рабочего стола Windows. Клиент удаленного рабочего стола интегрирован в системы Windows, готов к работе по умолчанию и не требует специальной настройки, прежде чем вы сможете подключиться к другому компьютеру под управлением Windows. Однако прием подключений к удаленному рабочему столу с других компьютеров по умолчанию отключен во всех версиях ОС Windows.
Если вы хотите удаленно подключиться к серверу через Интернет, а не через локальную сеть, вам необходимо принять во внимание несколько вещей, прежде чем включать эту службу:
- Переадресация порта . Если вы не используете VPN, то вам необходимо убедиться, что порты правильно переадресованы на IP-адрес удаленного хоста. Проверьте настройки маршрутизатора, чтобы узнать, направляется ли трафик TCP-порта по умолчанию для протокола удаленного рабочего стола (порт 3389) на IP-адрес сервера, с которым вы хотите установить подключение к удаленному рабочему столу. Обратите внимание, что в этом случае ваш сервер Windows напрямую подключен к Интернету и уязвим.
- Использование VPN . Это гораздо более безопасный вариант подключения к удаленному рабочему столу. При создании виртуальной защищенной сети на клиентском компьютере вы сможете получить доступ ко всем службам, которые доступны только при использовании локального подключения.
- Настройки межсетевого экрана . Убедитесь, что межсетевой экран, который вы используете для удаленного компьютера, не блокирует подключение к удаленному рабочему столу. Вам нужно открыть локальный порт для RDP, будь то номер порта по умолчанию или настраиваемый.
Подключение удаленного доступа в версиях Windows 7, 8, 10 и Windows Server
Процедура настройки удаленного рабочего стола и разрешения безопасных удаленных подключений к серверу или ПК с другого компьютера одинакова для всех версий операционных систем Windows. Я перечислю основные шаги для подключения удаленного доступа к нужному компьютеру. Прежде чем начать, убедитесь, что вы учли приведенные выше замечания, которые касаются переадресации портов, настроек VPN и межсетевого экрана.
Шаг 1. Разрешите удаленные подключения
Перейдите в раздел информации о компьютере на том компьютере, на котором вы хотите разрешить удаленные подключения:
- Щелкните правой кнопкой мыши Computer (Мой компьютер) или This PC (Этот компьютер) в зависимости от версии ОС Windows.
- Щелкните Properties (Свойства) .
Источник: dzen.ru
Terminal Services RemoteApp (удаленные приложения)
В операционных системах семейства Windows (не домашней), можно включать режим удаленного рабочего стола. Это бывает очень удобно, по причине того, что работая на удаленной машине мы получаем картинку а не перекидываемся громоздкими файлами по сети или даже через интернет, что в разы увеличивает скорость работы. Другое дело что политика разработчиков ОС ограничила эту возможность только 1 рабочим пользователям. Если нам к примеру всетаки надо подключиться скажем через планшет и поработать на компьютере — почему же и нет!
Но если нам нужно запускать только одну определенную программу бывает не очень удобно ждать пока загрузится у нас удаленный рабочий стол потом загружать программу, а если мы даем доступ другу к компьютеру нам нет желания давать ему возможности бороздить у нас на нашей технике и читать конфидициалку.
В новых серверных версиях начиная с Windows Server 2008 появился интересное дополнение — функция Terminal Services RemoteApp (удаленные приложения). Вот ее мы сейчас и попробуем включить у себя. На примере открытия блокнота.
Распишем все по этапам.
1. Правим реестр. regedit.exe. И идем по ветке:
В разделе TSAppAllowList создаем новый подраздел Applications. Далее создаем подразделы для программ, которые должны будут запускаться в качестве RemoteApp. Для каждой программы свой подраздел. Для проверки создадим подраздел с названием Notepad (тут для примера название роли не играет пока он используется для нас и в дальнейшем мы его пропишем в файлике — Remoute RDP). Переходим в него и создаем два строковых параметра Name и Path.
Для параметра Name задаем значение notepad.exe, или другую программу (хоть КонтрСтрайк)
а для Path – путь к папке где лежит приложение, в нашем случае – C:Windows. (Путь должен быть к папке на компьютере, который будет выступать в роли терминального сервера с Windows 7). Только путь до запускаемго файла, а не сам путь с самим файлом.
Добавляем приложения следующим образов. В разделе Applications создаем дополнительные разделы для каждой программы. И в этих разделах создаем два строковых параметра Name и Path.
Изменим еще один параметр.
Переходим в раздел TSAppAllowList. И выставим значение 1 для параметра fDisableAllowList.
С реестром мы закончили.
2. Создадим файл для подключения к удаленному рабочему столу.
Запускаем утилиту Подключение к удаленному рабочему столу через меню Пуск –> Стандартные, либо Win+R, вводим mstsc, Enter.
В открывшемся окне вводим имя ПК, либо IP адрес компьютера с Windows 7 TS RemoteApp. Жмем Сохранить как… И сохраняем в любом месте.
Откроем полученный файл в Notepad++
В файле меняем значение параметра remoteapplicationmode:i:0 на remoteapplicationmode:i:1. После добавим 3 строчки:
Сохраняем файл RemoteApp.rdp и запускаем.
При подключении спросит логин и пароль. Нужно чтобы учетная запись входила в группу Пользователи удаленного рабочего стола. Либо надо быть локальным админом, либо доменным. Если все условия соблюдены, то через пару секунд откроется Notepad.
Если при подключении выскакивает сообщение: “Следующее удаленное приложение RemoteApp отсутствует в списке разрешенных программ”, то нужно проверить параметр реестра fDisableAllowList, что у него значение 1.
Дополнение по просьбе пользователя » Злой юзер»
В *.rdp файле можно заполнить, как пример, следующим содержимым:
full address :s :ip_ ip удаленного компьютера или виртуальной машины
address remoteapplicationmode :i :1
disableremoteappcapscheck :i :1
alternate shell :s :rdpinit.exe
prompt for credentials on client :i :1
remoteapplicationname :s :program_name — Название программы .exe.bat и пр.
remoteapplicationprogram :s : — Полный путь к exe файлу программы
path redirectclipboard :i :1
redirectposdevices :i :0
redirectprinters :i :1
redirectcomports :i :1
redirectsmartcards :i :1
redirectdrives :i :1
session bpp :i :32
span monitors :i :1
use multimon :i :1
allow font smoothing :i :1
Источник: it-sistemnik.ru
Удаленный запуск скрипта на сервере Linux
Как запустить локальный скрипт на удаленном сервере Linux
Удаленный запуск скрипта повторяющихся задач повышают эффективность системного администрирования. Это отлично подходит для локальных машин, но что если вы контролируете удаленные серверы? Можете ли вы запустить локальный скрипт на удаленном компьютере? Да!
Удаленные подключения
Удаленное администрирование системы обычно включает в себя подключение к удаленному компьютеру через защищенное соединение shell. Соединение SSH предоставляет вам командную строку на удаленном компьютере. После этого вы можете приступить к выполнению любых действий по обслуживанию системы.
Сценарии оболочки помогают, позволяя обернуть последовательность команд в сценарий, который может быть запущен как программа, объединяя множество действий в одну инструкцию командной строки.
Со временем вы будете дорабатывать и совершенствовать свои скрипты. Если у вас много удаленных машин, которые нужно администрировать, поддерживать копию каждого сценария на каждом сервере в актуальном состоянии — это боль и неприятные накладные расходы. Это само по себе становится административной задачей и съедает экономию времени, которую должно обеспечить использование скриптов.
Идеальное решение позволило бы вам хранить скрипты на локальной машине и запускать их на удаленных компьютерах через SSH-соединение. Это позволило бы упростить управление централизованной коллекцией сценариев, а один и тот же актуальный скрипт запускался бы на всех компьютерах.
Bash и SSH предоставляют возможность сделать именно это.
Беспарольные SSH-соединения
Лучший способ сделать это — беспарольные соединения с использованием SSH-ключей. Создав SSH-ключи на локальном компьютере и отправив их на каждый из удаленных компьютеров, вы сможете безопасно и удобно подключаться к удаленным компьютерам, не запрашивая каждый раз пароль.
Хотя они могут отпугнуть начинающих пользователей, ключи SSH на самом деле не сложны. Их легко сгенерировать, просто установить на удаленных серверах, а при использовании их с SSH не возникает никаких сложностей. Единственным условием является наличие на удаленных компьютерах SSH-демона sshd и учетной записи пользователя на удаленном компьютере.
Если вы уже выполняете на них удаленное администрирование системы, оба эти требования должны быть выполнены.
Чтобы сгенерировать пару ключей SSH, введите:
ssh-keygen
Если у вас есть учетная запись «dave» на компьютере под названием «fedora-36.local», вы можете установить на него свой открытый ключ SSH с помощью этой команды:
Теперь, установив SSH-соединение обычным способом, вы пройдете аутентификацию по SSH-ключам. Вы попадете в командную строку на удаленном сервере без запроса пароля.
Удаленный запуск локального скрипта
Для этих тестов мы используем наш удаленный сервер — это компьютер Linux под названием «fedora-36.local». Мы настроили SSH ключи и протестировали беспарольное подключение к удаленному серверу с нашего локального компьютера.
Наш скрипт очень прост. Он записывает временную метку в файл с именем «timestamp.txt» на удаленном сервере. Обратите внимание, что скрипт завершается командой exit. Это важно, поскольку на некоторых старых системах скрипт может быть выполнен до конца, но SSH-соединение остается открытым.
#!/bin/bash date >> timestamp.txt exit 0
Скопируйте этот текст в редактор, сохраните его как «local.sh», а затем используйте chmod, чтобы сделать его исполняемым.
chmod +x local.sh
На нашей локальной машине мы запустим скрипт следующим образом:
ssh [email protected] ‘bash -s’ < local.sh
Источник: bookflow.ru