Ssh подключение через интернет

Подключение по ssh через интернет

Доброго времени суток хочу научиться как подключать через интернет два компьютера используя ssh сервер и клиент на ОС Debian10.И что нужно еще настраивать помимо ssh, подскажите пожалуйста сайты. Некоторые настройки я находил на сайтах и пытался применить но ни чего не получилось, их я выложу ниже.Заранее благодарю за помощь.

# interfaces(5) file used by ifup(8) and ifdown(8) # The loopback network interface auto lo iface lo inet loopback allow-hotplug eth0 #автоматически выполнять перезапуск интерфейса при его падении auto eth0 #поднимать интерфейс автоматически при старте системы iface eth0 inet dhcp #получить адрес по DHCP auto eth0:1 iface eth0:1 inet dhcp auto eth0:1 iface eth0:1 inet dhcp allow-hotplug eth1 auto eth1 iface eth1 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameservers 192.168.0.254 8.8.8.8 pre-up ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx # The primary network interface 
Port 22** - тут свой протокол сделал #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_ecdsa_key #HostKey /etc/ssh/ssh_host_ed25519_key # Ciphers and keying #RekeyLimit default none # Logging #SyslogFacility AUTH #LogLevel INFO # Authentication: LoginGraceTime 1m PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 #MaxSessions 10 **** #PubkeyAuthentication yes **** # To disable tunneled clear text passwords, change to no here! PasswordAuthentication yes #PermitEmptyPasswords no 
Host * - тут было без изменений. # ForwardAgent yes # ForwardX11 yes # ForwardX11Trusted yes PasswordAuthentication yes # HostbasedAuthentication no # GSSAPIAuthentication no # GSSAPIDelegateCredentials no # GSSAPIKeyExchange no # GSSAPITrustDNS no # BatchMode no # CheckHostIP yes # AddressFamily any # ConnectTimeout 0 # StrictHostKeyChecking ask # IdentityFile ~/.ssh/id_rsa # IdentityFile ~/.ssh/id_dsa # IdentityFile ~/.ssh/id_ecdsa # IdentityFile ~/.ssh/id_ed25519 Port 22** - тут свой протокол сделал # Protocol 2 # Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc # MACs hmac-md5,hmac-sha1,umac-64@openssh.com # EscapeChar ~ # Tunnel no # TunnelDevice any:any # PermitLocalCommand no # VisualHostKey no # ProxyCommand ssh -q -W %h:%p gateway.example.com # RekeyLimit 1G 1h SendEnv LANG LC_* HashKnownHosts yes GSSAPIAuthentication yes 

При вводе => systemctl status dhclient.

Выдаёт => System has not been booted with systemd as init system (PID 1). Can’t operate.

Failed to connect to bus: Узел выключен

Не знаю нужен ли dhcp но на сайтах пишут что нужен.

Источник

Как подключиться к Windows по SSH через интернет?

Да, часто возникает необходимость подключиться к компьютеру через интернет. Я в той статье много о чём рассказывал, а здесь мы будем говорить исключительно об SSH, раз уж Alex любезно предоставил нам эту возможность. К тому же, мне самому безумно интересен SSH, а здесь ещё и на Windows… ммм.

Что такое SSH и зачем он нужен?

Дело в том, что SSH — это Secure SHell. Протокол для безопасного доступа к оболочке управления. Поэтому оно предоставляет доступ именно к командной строке, ибо Shell — переводится как оболочка и здесь в значении текстовая оболочка управления. Но вообще, этот протокол примечателен тем, что он позволяет пропускать внутри себя любой другой трафик, причем в зашифрованном виде. Так, протокол безопасного подключения к файловой системе называется SFTP и работает поверх SSH. Но может туннелировать абсолютно любые другие соединения — будь то HTTP или даже RDP. По сути получается «VPN на коленке».

Читайте также:  Раздать интернет honor 10i

Здесь Алекс уже сделал полдела, он установил и запустил на домашнем компьютере FreeSSHd. Это позволяет подключиться к Windows по SSH. В данном случае — «позволяет» — это сказано очень сильно. Потому как это решение работает на Виндовс кое-как. Во-первых, у неё нет приличного текстового интерфейса — командной строки, для управления.

По крайней мере штатный — cmd — мало что позволяет сделать с удалённой машиной. Есть ещё Powershell — это уже более современное и мощное решение. Freesshd позволяет сменить консоль на powershell, но я к ней так и не смог подключиться. К CMD подключился — но это совершенно неюзабельно:

podklyuchenie-windows-consol-ssh

Во-вторых, в случае с FreeSSHd у меня не получилось подключиться к компьютеру с Windows даже по локальной сети, не говоря уже о подключении через интернет. Вернее, подключиться получается, но сервис зависает и вылетает, управлять Windows-хостом таким образом не получится.

Завис freesshd и вылетел при подключении

Завис freesshd и вылетел при подключении

Поэтому, я предполагаю, что Алексу понадобился ssh-сервер на Windows для подключения к файловой системе или использования её в качестве VPN, проксирования чего-либо поверх SSH. Хотя я и сомневаюсь, что FreeSSHd позволит это делать. Ибо в-третьих: он даже не сохраняет настройки, при перезапуске сервиса всё сбивается. В общем, я очень надеюсь, что Алекс расскажет нам в комментариях о том, зачем это ему понадобилось.

Как ещё можно запустить SSH на Windows?

Есть более работоспособное решение — Powershelserver. Хотя в нём тоже есть баги, но оно хотя бы не вылетает. Поэтому я бы рекомендовал использовать именно его для подключения по SSH к виндовым серверам.

Скачал и установил powershellserver

Скачал и установил powershellserver

Во-первых, он стабильно работает без вылетов. И через него действительно можно управлять windows через powershell.

Включил нужные опции и запустил

Включил нужные опции и запустил

Все настройки нормально сохраняются. Доступны те же функции что и в FreeSSHd и даже больше — можно использовать SCP — это копирование файлов поверх SSH.

Но самый шик — это консоль! Она работает, господа!

proverka-porta-podkluchenie-powershell-ssh

Я легко подключился, без всяких плясок с добавлением пользователей (это нужно делать во freesshd). И та простейшая команда на просмотр таблицы маршрутизации прекрасно отработала и выдала нужную инфу. Фриссш у меня «упал» именно при попытке просмотра netstat -rn

Здесь правда видно что не отображаются русские символы. Так у нас это легко настроить, просто выставляю нужную мне кодировку на powershellserver, перезапускаю, переподключаюсь…

nastroika-kodirovki-ssh-windows

Настройка кодировки в Powershellserver

Подключение к консоли Windows по SSH!

Подключение к консоли Windows по SSH!

Теперь мы имеем полноценный SSH и можем полностью управлять Windows через консоль.

Кстати, Microsoft eщё летом объявила о том, что собирается разработать нативную поддержку SSH для Powershell в новых версиях Windows. Есть анонсы новости на хабре и на pcweek(и ещё). Поэтому нам только остаётся ждать с нетерпением этого знакового события, поскольку это действительно будет прорывом для работы в гетерогенных сетях.

Я не стал проверять остальные функции — sftp и scp, но почему-то уверен, что они тоже будут прекрасно работать.

Читайте также:  Сеть есть интернета нет iphone

Как открыть снаружи SSH-порт?

Итак, мы подобрались к тому сокровенному, ради чего вообще и затеялась эта статья. Ответу на вопрос читателя.

Проброс порта на роутере или модеме

Для подключения к компьютеру извне, действительно нужно сделать NAT, или, в частном случае PAT — проброс порта с локальной машины на внеший IP-адрес. Как это сделать зависит от устройства, которое используется в качестве шлюза. Это может быть ADSL-модем или домашний роутер. В большинстве случаев подробные инструкции для вашего девайса легко найти по запросам типа «проброс порта модель_устройства» или «port forwarding модель_устройства»

Вот так это выглядит на моем домашнем роутере Zyxel Keenetic Lite :

Как открыть порты для подключения снаружи на Zyxel Keenetic

Как открыть порты для подключения снаружи на Zyxel Keenetic

А вот так это выглядит на ADSL-модеме c функционалом роутера Linksys WAG200G, оказавшимся под рукой:

probros-portov-liksys-wag200g

Кроме того, у некоторых провайдеров это может быть невозможно сделать технически, поскольку они не предоставляют «белый» внешний IP-адрес.

Проброс порта на удалённый сервер с помощью SSH-туннеля

В таком случае, для подключения по SSH может быть доступен единственный способ — туннель с локальной Windows-машины (той самой, к которой хотим подключиться по SSH) на удалённый сервер. В этом случае у вас должен быть SSH-доступ к какому-то серверу в интернете.

Настройка

Настройка «обратного» туннеля SSH

Такой проброс легко сделать с помощью простого SSH-клиента Putty (есть и альтернативные ssh-клиенты) Затем можно будет подключиться на этом самом удалённом сервере через проброшенный порт.

Подключение Windows по SSH через обратный туннель

Подключение Windows по SSH через обратный туннель

Здесь получилась по сути петля. Мы открываем SSH сессию с Windows на удалённый сервер, а внутри этого подключения у нас туннелируется SSH-порт самой Windows Powershellserver (или FreeSSHd) на локальный порт 3322 удалённого сервера. И в этой же сессии мы теперь подключаемся обратно к Windows на Powershell через этот самый порт 3322… Я надеюсь, вы не запутались. Но… This is magic, друзья! 🙂 SSH-туннели это особый мир, с их помощью можно вытворять невероятные штуки, открывать такие двери, что все безопасники будут горько плакать, если бы они вдруг узнали обо всём этом… Ну да ладно.

Ну если вам нужно расшарить SSH-порт винды в мир, достаточно в настройках обратного туннеля в качестве destination указать не localhost:3322, а ip_server:3322. Сможете подключаться к винде по SSH отовсюду, где есть доступ к этому самому серверу.

Как проверить правильно ли проброшен порт?

Очень просто. Нужно проверить открыт ли он. В случае с SSH открытый порт будет отвечать сообщением о своей версии. Самый простейший способ проверки порта — утилита telnet.

Просто наберите в командной строке через пробел:

Если порт доступен, то вы увидите что-то вроде такого:

proverka-porta-ssh-telnetom

Ответ SSH если порт доступен

Если порт по каким-то причинам недоступен — то вы увидите либо «connection refused» либо «connection timeout». В первом случае это будет мгновенно, и означает что порт закрыт файрволом.

Во втором случае это будет похоже на «зависание» и может длиться до нескольких минут — телнет-клиент будет пытаться установить соединение. Это может означать также блокировку файрволлом, но уже другого типа. Либо просто что указанный хост недоступен или порт на нём закрыт.

Если вы смогли подключиться телнетом, то нажмите комбинацию клавиш Ctrl+] и введите quit, затем Enter. Иначе не получится прервать сессию и придётся открывать новое окно консоли, если она вам ещё нужна.

Читайте также:  Ошибка подключения интернета 102
Admin

IT-cпециалист с высшим техническим образованием и 8-летним опытом системного администрирования. Подробней об авторе и контакты. Даю бесплатные консультации по информационным технологиям, работе компьютеров и других устройств, программ, сервисов и сайтов в интернете. Если вы не нашли нужную информацию, то задайте свой вопрос!

Похожие статьи

Комментариев

Здравствуйте. Спасибо за ответ!
SSH туннель решил поднять на домашнем компьютере, чтобы к нему цепляться из любой точки доступа, как с чужого компа, так и с телефона, только в целях безопасности, пока нахожусь в интернете. Сами понимаете, что открытые точки Wi-Fi не безопасны. По поводу сервера FreeSSHd: установленная версия 1.3.1, подключался через PuTTY от друга по локалке — всё работает, как сам туннель, так и Shell, и SFTP (для этого протокола использовал программу WinSCP).
По настройкам сервера — выключен Telnet, авторизация пользователя только по паролю. Пытался авторизоваться по ключам, созданным в PuTTY, но почему-то не подключается, как с паролем на сами ключи, так и без него. Появлялась ошибка: «Server refused public-key signature despite accepting key!». Ключи по разному пробовал составлять и с разной длинной (удалял лишние строки в начале и конце ключа, выстраивал ключ в одну строку — всё никак). Не большие подробности относительно ситуации на моём компьютере: роутера и модема нет, я подключён по витой паре сразу в ноутбук, и нахожусь за NAT провайдера, ip предоставляется серый динамический, поэтому и хочу узнать как же подключится по интернету. Извиняюсь, что сразу не написал..
При попытке подключиться на внешний ip (смотрел на 2ip.ru) соответственно подключения не было. Интересует ещё вопрос: при подключении по SSH туннелю, трафик сразу шифруется или на компе-сервере надо ещё ставить прокси-сервер? Комментарий на отдельной странице

Прокси с шифрованием через домашний компьютер. Теперь всё понятно. Вы просто хотите сделать для себя прокси таким замысловатым способом 🙂 Но всё же, это имеет смысл, только в тех случаях, если у вас есть прямой доступ по SSH без бубна. Учитывая серый IP от провайдера, у вас вообще невозможно подключаться к домашнему компьютеру без сервера с «белым» ip-адресом и прямым доступом по SSH. Ну а если есть такой сервер, то необходимость в домашнем компьютере вообще отпадает можно использовать сразу сервер. В Вашем случае проще купить доступ к персональному прокси и использовать его для этих целей. Они сейчас $1-$2 в месяц стоят, не больше. Если же вы хотите использовать именно SSH-туннели, то я бы порекомендовал взять самый дешёвый тариф у хостера, предоставляющего доступ по SSH. Тогда вы сможете осуществить всё задуманное и даже больше. Я, например, использую дешёвый безлимитный хостинг от HTS всего за 90 рублей в месяц уже четвертый год . Да, SSH сам по себе шифрует абсолютно всё, что пропускает через себя. При использовании туннелей прокси не нужен, ибо ваш туннель сам по себе будет работать уже как Socks-прокси. А по поводу ключей, попробуйте всё же powershelserver. Комментарий на отдельной странице

Источник

Оцените статью
Adblock
detector