Pi cihazımda internet üzerinden SSH kurulumu


16

Bu basit bir soru olabilir, ancak çeşitli kaynaklardan (internetteki çelişkiler?) Çelişkili bilgileri okuduğum için, ihtiyacım olan her şeyi yapıp yapmadığımı bilmek istedim.

Bu yüzden RasPi'imle bir SSH bağlantısı kurmak istiyorum, böylece internete erişebiliyorum.

  1. Pi kullanarak SSH'yi etkinleştirerek, Raspbian'ı çalıştırarak raspi-configaracı kullanarak başladım .
  2. Ardından, dinamik ip adresimi gösteren bir ana bilgisayar adına sahip olmak için no-ip.com istemcisini Pi'ye yükledim.
  3. Ahududu üzerinde LAN ipimi kullanarak baktım ifconfig
  4. Son olarak, yönlendiricimin yapılandırma yardımcı programında, port yönlendirme altında, hem TCP hem de UDP'de port 22'nin pi'imin yerel ipine iletilmesini etkinleştirdim.

Bundan sonra, internet üzerinden pi için SSH görünemiyorum. Yerel IP'mi kullanarak LAN'ım içinde bağlanmaya çalıştığımda çalışıyor , ancak ana bilgisayar adımı veya internet IP adresimi kullanmıyorum. Ayrıca farklı bir konumdan bağlanmayı denedim ve hiçbir şey çalışmıyor.

Sorum: Herhangi bir adım eksik mi? Her şeyin çalışması için pi üzerinde düzenlemem gereken yapılandırma dosyaları var mı?


Lütfen Pi'nizin çıktısını iptables -Lekleyin.
deed02392

1
Bu sorunu henüz çözmediniz mi? Eğer öyleyse, onu çözen cevabı işaretleyebilir veya yaptığınızı belirten kendi kendine bir cevap oluşturabilir ve sonra bunu cevap olarak işaretleyebilir misiniz? S: A oranını yükseltmeye çalıştığımız için bu harika olurdu ve bu soru @Zeta'nın dokunmadan bir süredir bırakılmış gibi görünüyor. Teşekkürler!
RPiAwesomeness

Web ve ssh için internet üzerinden Pi'ye bağlanmak için no-ip.com kullanıyorum, bu yüzden yönlendiriciniz veya ISS'niz gelen trafiği engelliyor?
Alastair Montgomery

Bu, NAT geri dönüşünü desteklemeyen bir yönlendiriciye çok benziyor.
flakeshake

Bu bağlantıyı buldum: raspberryanywhere.com Belki biraz yardımcı olabilir. Birkaç hafta hizmet kullanıyorum ve harika çalışıyor! Bağlantı, ahududu tahtanıza istediğiniz yerden erişmek gibi basit bir yazılım ekibi görüntüleyicisi sağlar. Ayrıca, her zamanki SSH istemcinizi kullanabilirsiniz; sadece SSH veya HTTP üzerinden kartınıza bağlanmak için sanal bir adres sağlarlar. Herhalde denemeye değer!
Stefano Stefano

Yanıtlar:


12

Raspberry Pi'nize yalnızca SSH üzerinden internet üzerinden bağlanmayı planlıyorsanız, muhtemelen ngrok.com sorununuzu en rahat şekilde karşılayabilir.

Bağlantı noktanızı bir tür ters tünel ile yönlendirir ve hatta ISP'nizin güvenlik duvarlarını veya kısıtlamalarını atlamanıza yardımcı olabilir. TCP trafiğini iletmek için siteye (ücretsiz) kaydolmanız gerekir.

Bu projeye hiçbir şekilde bağlı değilim; Ben sadece aynı fikri (benim durumumda bir OpenVPN-Server iletmek) gerçekleştirmek için kullandım ve şimdiye kadar herhangi bir sorunla karşılaşmadım.


Ben de bu sorunu vardı ve serveo.net ngrok daha kolay kullanılır. Tamamen ücretsiz, 0 config sadece 22 bağlantı noktası komutuna özel bir takma adla yapıştırın ve ardından bağlanın.
Madhava Jay

3

Sorununuzun bir kısmı, Pi'nin yönlendiricinizdeki DHCP'den dinamik bir IP kullandığı için, Pi'nin yerel IP'si değiştiği için ayarladığınız bağlantı noktası yönlendirme çalışmıyor olabilir.

Bunu düzeltmenin en basit yolu (en azından gördüğüm) statik bir IP kurmaktır. Bir yapılandırma dosyasında mucking yapmadığınız sürece nispeten basittir. Burada ve burada biraz daha derinlemesine okuyabilirsiniz . Ayrıca aşağıdaki basit yolu açıklayacağım:

  1. Pi'nize ev ağınızdaki SSH veya bir ekran üzerinden bağlanın.

  2. Bir kalem ve kağıt alın, biraz bilgi yazacaksınız.

  3. Komutu çalıştırın ifconfig. Bunu zaten çalıştırdığınızı biliyorum, ancak bu sefer yerel IP'nizden biraz daha fazla bilgi toplamamız gerekiyor. Bu yönlendirici bilgilerinizi gösterir, istediğiniz bit eth0'dan (ethernet bağlantısı) sonra. . . .

    eth0      Link encap:Ethernet  HWaddr b8:27:eb:b3:fc:2c
              inet addr:192.168.1.81  Bcast:192.168.1.255  Mask:255.255.255.0
    

    Aşağıdaki bilgileri yazın ...

    inet addr – 192.168.1.81 (Pi's Current IP Address)
    Bcast –  192.168.1.255 (The Broadcast IP Range)
    Mask –  255.255.255.0 (Subnet Mask Address)
    

    Açıkçası, bilgileriniz bu öğreticiden farklı olacaktır, bu yüzden kullandığınızdan emin olun sizin gelen bilgi ifconfigPi üzerinde çalışan komutu.

  4. Şimdi koş netstat -nrya da route -n. İhtiyacımız var:

    'Ağ Geçidi' Adresi - 192.168.1.254
    'Hedef' Adresi - 192.168.1.0

  5. Artık bu bilgilere sahibiz, dinamik IP'yi ayarlamak için arayüzler dosyasını düzenleyebiliriz. Çalıştırmaksudo nano /etc/network/interfaces . Bir şekilde şöyle görünmelidir:

    arayüzler dosyası

  6. Hattı değiştirin:

    iface eth0 inet dhcp
    

    için

    iface eth0 inet static
    

    Daha sonra bu satırın hemen altına aşağıdakileri girin ( Lütfen Dikkat. Yukarıda topladığımız kendi adreslerinize ihtiyacınız olacak) ). . . .

    address 192.168.1.81
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.254
    

    Temel olarak, adres kısmı IP'nizin olmasını istediğiniz şeydir. IP çatışması olasılığı daha az olduğu için daha yüksek daha iyidir. netmask - Daha önce yazdığımız 'Maske' adresi.

    - Yönlendirici IP adresi, bu daha önce 'Hedef' Adresi bulundu. Bunu yönlendiricinizden de alabilirsiniz, bir tarafta yanda olmalıdır.

    yayın yapmak - Daha önce yazdığımız 'Bcast' adresi.

    geçit - Bu, daha önce bulduğumuz 'Gateway' adresidir.

    Ctrl+ OVe ya Enterya Yve düğmelerine basın Enter. Bunu yaptıktan sonra Ctrl+ tuşuna basın X.

  7. Çalıştırın sudo rebootve IP'niz yerinde olmalı! ifconfigTekrar giriş yapın ve komutu tekrar çalıştırın, şimdi şu şekilde görünmelidir:

    fancyness!

Ardından, yeni statik IP'nize bağlantı noktası yönlendirmeyi yapılandırın ve hepsi işe yarayacak! İyi şanslar!


2
Aşağı oy kullanan kişi nedenini açıklayabilir mi? Bence bu oldukça geçerli ve uygulanabilir bir çözüm. Cevabımı iyileştirebilmem için nedenini bilmek istiyorum.
RPiAwesomeness

1
Bu yalnızca yerel ağda çalışır, dışardan değil. OP, Pi'ye aynı ağdan değil, İnternet üzerinden nasıl bağlanacağını sordu.
Chinmay Sarupria

192.168.1.100 gibi bir adres yerel bir adres, aynı yerel adrese sahip 2 farklı şehirde 2 Pi'ye sahip olabilirim. Tabii ki, ikisinden de ağın dışından erişemeyeceğim.
Chinmay Sarupria

RPi'nize statik bir IP adresi verirseniz, adresi DHCP havuzundan hariç tutmalısınız, aksi takdirde ağınızdaki başka bir cihaz bunu alabilir ve bir IP çakışması yaşayabilirsiniz.
Dmitry Grigoryev

2

Yanlış yapılandırılmış göründüğünüz tek şey, SSH'nin yalnızca TCP protokolü olmasıdır, bu nedenle 22 numaralı bağlantı noktasından UDP trafiğini yönlendirmeniz gerekmez.

Neden işe yaramıyor gibi görünüyor muhtemelen yönlendiriciniz NAT geridönüşü desteklemiyor . Bunun anlamı, bağlantının kaynağı dahili LAN'ınızdan olduğunda NAT kurallarının (yönlendirme kuralınız gibi) uygulanmadığıdır. Tüm yönlendiricilerde bu özellik AÇIK değildir. Bu nedenle, yönlendiriciniz NAT loopback'i desteklemiyorsa , no-ip.com etki alanı adını kullanırken ve LAN'ınızdan yaparken RPi'nize SSH kullanarak bağlanamazsınız .

Yapılandırmanızın çalışıp çalışmadığını denemek için, bazı veri bağlantısı (3G, LTE, vb.) Olan bir akıllı telefonunuz varsa ve üzerinde bir ssh istemcisi varsa, WiFi bağlantınızı değil veri planını kullanarak RPi'nize bağlanmayı deneyin. Üzerinde bir ssh istemciniz yoksa ve tethering yapmanıza izin verilirse, yerel ağınız için fişini çekerek ve bunun yerine tethering bağlantısını kullanarak akıllı telefonunuzu bilgisayarınızdan biriyle birlikte kullanın.


0

Ücretsiz bir alan adı kullanmayı deneyin, örneğin co.cc veya benzeri ve freeDNSYönlendiricinizi işaret etmek için (ayrıca çok çeşitli alt alan adları da sağlar) . Yönlendiricinizin dinamik bir IP'ye sahip olması durumunda bir güncelleme komut dosyası da alabileceğinizi düşünüyorum.

Bu işe yaramazsa, port yönlendirme ayarlarınız yanlış olabilir mi? Ne tür yönlendiriciniz var?


Try using a free domain name...Bunu yaptı, no-ip istemcisi budur. Manuel DNS ve yönlendiricilerle uğraşmaktan çok daha basit.
RPiAwesomeness

@RPiAwesomeness Üzgünüm, bunu bilmiyordum.
Samadi

Sorun değil. Sadece bir Stack Exchange üyesi olmak ve siteyi denetlemek görevimi yapıyordum. Bu sadece biraz yararlı eleştiri. Lütfen bunu size bir saldırı olarak kabul etmeyin, sadece bu sitedeki içeriği yararlı ve bilgilendirici tutmaya yardımcı olmaya çalışıyorum. Lütfen yardım etmeye ve soruları cevaplamaya çalışın ve dahil olun, almaya başlayacaksınız. :) Ayrıca, zaman zaman sohbet içine pop. Onların içinde olan insanlar şirkete sahip olmayı severler ve bu sitenin yararlı ve başarılı olduğunu ve iyi, dahil bir kullanıcı tabanına sahip olduğunu gösterir.
RPiAwesomeness

0

Finlandiya'da burada bu durum var: rpi mobil wifi yönlendirici, huawei e5776 bağlı ve şimdiye kadar hiçbir başarı ile internet üzerinden SSH ile rpi bağlanmak istiyorum ve nihayet Internet Servis Sağlayıcı için iki yönlü bağlantıları engelleme biliyorum mobil geniş bant müşterileri. Onlar için iki yönlü trafik ekstra hizmet, (ki ödemek zorunda) ISS tarafından açık kapı denir. Durumun böyle olup olmadığını görmek için kendi İSS sitenize gidin.


0

Slubbix , Raspberry Pi'nin yerel IP adresinin sabit işaret etti. Bu, yönlendiricinizdeki bağlantı noktasını güvenilmez hale getirir. Raspberry Pi varsayılan olarak DHCP kullanacak şekilde yapılandırılmıştır. Bu, IP'nin yönlendirici tarafından verildiği anlamına gelir. Bu IP varsayılan olarak sabit değildir.

Bu sorunun bir çözümü Slubbix tarafından zaten belirtilmiştir : Raspberry Pi'nin IP'sini sabitlemek.

Bence bunun iki dezavantajı var: ağınızda kolayca korunabilen IP'lerin küresel bir listesi yoktur ve Raspberry Pi'nizi başka bir ağda kullanamazsınız (zaten kullanımda veya farklı alt maskeler).

Bu nedenle aşağıdakileri yapmayı öneriyorum: yönlendiricinizi Raspberry Pi'nizin MAC adresine sabit bir IP atayacak şekilde yapılandırın. MAC adresi şu komut kullanılarak bulunabilir:ifconfig


0

Bağlanmak için kablosuz bir adaptör kullanmadığınız sürece IP adresini koruyacaksa Raspberry Pi'nizin yerel IP adresi sabit değildir. RPI için SSH kullanmak istiyorsanız, şu adımları kullanabilirsiniz:

Pi'nizi terminal komut istemine başlatın. Şu komutu yazın "sudo apt-get install xrdp" Tanıtıldıysa, parolanızı girin (varsayılan "ahududu" dır) "Y" yazın ve enter tuşuna basın. Bu, xrdp'yi uzak masaüstü bağlantısı için kullanacağımız yazılım olan Pi'nize yüklüyor. Tamamlanmasını bekleyin. Pi'nizi yeniden başlatın. Xrdp'nin otomatik olarak başlatılacağını kontrol edeceğiz. Pi'niz komut istemine önyükleme yaptığında [ok] Uzak Masaüstü Protokolü sunucusunu başlatma: xrdp sesman öğesini arayın. Bu, xrdp'nin kurulu olduğunu ve Pi'nizin başlatılmasında otomatik olarak başlatıldığını gösterir Son adım, Pi'nizin IP adresini başlangıç ​​ekranında da görüntülenmesi gerektiğini not etmektir. Aşağıdaki durumumda 192.168.1.9.

İkinci Makine Kurulumu

  1. Başlat-> Tüm Programlar-> Aksesuarlar-> Uzak Masaüstü Bağlantısı'nda bulunan Uzak Masaüstü Bağlantısını başlatın
  2. Yukarıda not ettiğiniz Pi'nizin IP Adresini yazın.

  3. Bağlan'a tıklayın (bu aşamada bir güvenlik uyarısı alabilirsiniz, sadece Tamam'ı tıklatın. Sonuçta ağınızdaki Pi'dir, bu yüzden güvenlik açısından endişelenecek bir şey yoktur).

  4. Modülü varsayılan sesman-Xvnc olarak bırakın ve Pi'niz için kullanıcı adınızı ve şifrenizi girin. (Eğer değiştirmediyseniz varsayılan pi ve ahududu).

  5. Tamam'ı tıklayın ve birkaç dakika sonra sizi karşılamalısınız Raspberry Pi masaüstüm!

  6. İşiniz bittiğinde Pi'nin masaüstünden çıkış yapın.

Bu adımı buradan buldum ve benim için çalıştılar

SSH'yi kullanmanın başka bir yolu:

Raspberry Pi'ye SSH Raspberry Pi'ye SSH veya Secure Shell ile tam adını vermek için genellikle giriş yapıyorum. Bu, Raspberry Pi'nize başka bir bilgisayardan komut satırı erişimine izin verir. Raspberry Pi'ye dünyanın herhangi bir yerinden SSH yapmak mümkün olsa da, ben de bu yazı sadece yerel ağ üzerinden SSH erişimini kapsıyor. Gelecekteki bir blog gönderisinde uzaktan bağlantıyı ele alacağım.

Bu bir GUI'ye (Grafik Kullanıcı Arayüzü) erişim vermese de, komut satırına erişim genellikle yapmam gerekenlerin% 95'ini yapmama izin verir. Diğer% 5 muhtemelen SSH aracılığıyla yapabilirim, ancak bazen bir GUI'nin rahatlığını yenemezsiniz. :-)

Her şeyden önce, giriş yapmak istediğiniz Raspberry Pi'nin IP adresini bilmeniz gerekir. Bunu nasıl bulacağınızdan emin değilseniz, nmap adında mükemmel bir araç kullanarak bunu uzaktan nasıl yapabileceğinizi açıklayan blog yayınımı okuyun.

Linux veya Apple Mac bilgisayarından Raspberry Pi'nize SSH eklemek çok kolaydır. Aşağıdaki biçimi kullanarak kullanıcı adınızı ve IP adresinizi komut satırına yazabilirsiniz:

ssh kullanıcı adı @ IPaddress

Kullanıcı adını uzaktaki bilgisayarda oturum açmak istediğiniz kullanıcı adıyla değiştirdiğinizden emin olun. IP adresi 192.168.1.66 biçimini almalıdır

Ana bilgisayarın özgünlüğünün belirlenemediğini ve bağlanmaya devam etmek istediğinizden eminseniz açıklayan bir mesaj alabilirsiniz. Bu mesajı yalnızca SSH'yi Raspberry Pi'nize ilk kez girdiğinizde göreceksiniz. Evet yazmanız yeterlidir.

Daha sonra sizden şifreniz istenir, bağlanmaya çalıştığınız kullanıcı adı için şifreyi girin.

Pencereler için bu, PuTTY adı verilen ek bir yazılım parçası gerektirdiğinden kurulumu biraz daha zordur. Ancak kurulduktan sonra bu kullanımı gerçekten basittir.

Önce PuTTY web sitesine gidin, www.putty.org, yazılımı indirin ve yükleyin.

Kurulduktan sonra PuTTY yükleyin

Ana Bilgisayar Adı (veya IP adresi) altına bağlanmak istediğiniz IP adresini yazın. SSH radyo düğmesini seçin. Kayıtlı Oturumlar'ın altındaki kutuya, bu bilgisayarı tanımlamak için Raspberry Pi gibi bir ad yazın ve Kaydet'i tıklatın. Aç'a tıklamak artık SSH oturumunuzu başlatmalıdır.

Raspberry Pi'nize bir daha SSH eklemek istediğinizde, sadece PuTTY'yi yüklemeniz, kaydedilen oturumu tıklatmanız ve ardından Aç'ı tıklamanız yeterlidir. Şifrenizi girdikten sonra, sorulduğunda, Raspberry Pi'nize uzaktan erişiminiz olur.

Bu talimatları buradan buldum


Bu talimatların İnternet üzerinden
Dmitry Grigoryev

0

İnternetim için fark ettiğim bir şey, web sunucumu yönlendirdiğimde ve genel ipimi kullanarak bağlanmaya çalıştığımda, kullanılabilir olmadığını söyleyecekti, ancak telefonumda veya okul ağımda bağlandığım Buna bağlanabiliyorum, ayrıca yapabileceğiniz bir şey google'a gidin ve arama çubuğuna "IP" yazın, size verdiği ipi kopyalayın ve sonra ipinize google translate ve yapıştır'a gidin ve ardından sağ penceredeki mavi ip adresini tıklayın, bu da web sunucunuzu başarılı bir şekilde yönlendirirseniz size gösterilmelidir.


0

Varsayılan SSH bağlantı noktasında (22) gelen trafiğe izin vermek için iptables'a bu bağlantı noktasındaki tüm TCP trafiğinin girmesine izin vermesini söyleyebilirsiniz.

sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT

Yukarıdaki listeye geri dönersek, bunun iptables'ı söylediğini görebilirsiniz:

  1. bu kuralı giriş zincirine ( -A INPUT) ekleyin, böylece gelen trafiğe bakalım
  2. TCP ( -p tcp) olup olmadığını kontrol edin .
  3. öyleyse, girişin SSH bağlantı noktasına ( --dport ssh) gidip gitmediğini kontrol edin .
  4. öyleyse, girişi ( -j ACCEPT) kabul edin .

Umarım sizin için bu çalışmalar aynı zamanda, 20-21 olan ftp bağlantı noktalarını eklemek sadece değiştirmek isteyebilirsiniz sshetmek 20ve 21.


0

Bu sorunun ek cevaplara ihtiyacı olup olmadığından emin değilim ama oldukça basit.

  1. OpenSSH'yi yükleyin veya şuradan etkinleştirin: raspi-config

  2. Benim durumumda yönlendirici / güvenlik duvarları ana sayfasına git 192.168.1.1

  3. Bağlantı noktası yönlendirme veya sanal sunucuları arayın ve aşağıdakine benzer bir şey ekleyin:

    Harici Bağlantı Noktası başlangıcı: 1234 Harici Bağlantı Noktası sonu: 1234

    Dahili bağlantı noktası başlangıcı ve sonu 22.

    Sunucu IP, benim durumumda RPi'nizin statik IP'sidir 192.168.1.50

  4. Her şey yönlendirici tarafında kurulduktan sonra Google'da IP'nizi arayarak WAN IP'nizi not edin.

  5. Artık internet üzerinden pi'ye SSH yapabilmelisiniz. Benim durumumda bir Chromebook kullanıyorum ve güvenli kabuk eklentisi. Benim durumumda kullanıcı adını pi@mywanipve 1234 numaralı bağlantı noktasını yazıyorum .

Temel olarak 3. adımdaki güvenlik duvarı kuralı, WAN IP'nin 1234 numaralı bağlantı noktasındaki tüm trafiği dahili LAN IP'nin 22 numaralı bağlantı noktasına iletir.


-1

Bu basit yöntemi bulana kadar internet üzerinden SSH kurmakla çok uğraştım:

http://raspctl.com

Sadece komutları kaydedin ve kopyalayıp yapıştırın. Bir yapılandırma dosyasını düzenlemeniz gerekebilir, ancak bu kadar. Bugün test ettim ve çekicilik gibi çalışıyor. Farklı SSH android uygulamaları ile de denedim.


Söylemeyi unuttum: yönlendiricinizde bağlantı noktası yönlendirmeyi ayarlayın!
alkopop79

1
FYI: Bu proje durduruldu.
15'te bobstro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.