Ini mungkin pertanyaan sederhana, tetapi karena saya telah membaca informasi yang bertentangan dari beberapa sumber (apa? Kontradiksi di internet?) Saya ingin tahu apakah saya melakukan semua yang seharusnya saya lakukan.
Jadi saya ingin mengatur koneksi SSH ke RasPi saya sehingga saya dapat mengaksesnya melalui internet.
- Saya mulai dengan mengaktifkan SSH pada Pi, menjalankan Raspbian, menggunakan
raspi-config
alat. - Kemudian, saya menginstal klien no-ip.com pada Pi saya untuk memiliki nama host yang menunjuk ke alamat ip dinamis saya.
- Saya mencari ip LAN saya di raspberry saya menggunakan
ifconfig
- Akhirnya, di utilitas konfigurasi router saya, di bawah penerusan port, saya mengaktifkan penerusan port 22 di TCP dan UDP ke ip lokal pi saya.
Setelah ini, saya tidak bisa SSH ke pi saya melalui internet. Ini berfungsi ketika saya mencoba menghubungkan di dalam LAN saya menggunakan ip lokal saya, tetapi tidak menggunakan nama host atau alamat ip internet saya. Saya juga mencoba menghubungkan dari lokasi yang berbeda dan tidak ada yang berhasil.
Pertanyaan saya: Apakah saya kehilangan langkah? Apakah ada file konfigurasi yang harus saya edit pada pi saya untuk membuat semuanya berfungsi?
iptables -L
pada Pi Anda.Jawaban:
Jika Anda hanya berencana untuk terhubung ke Raspberry Pi Anda melalui SSH melalui internet, mungkin ngrok.com mungkin cocok dengan masalah Anda dengan cara yang paling nyaman.
Ini meneruskan port Anda dengan beberapa jenis terowongan terbalik dan bahkan dapat membantu melewati firewall atau pembatasan ISP Anda. Anda harus mendaftar (gratis) di situs untuk meneruskan trafik TCP.
Saya tidak berafiliasi dengan proyek ini dengan cara apa pun; Saya hanya menggunakannya untuk mencapai ide yang sama (dalam kasus saya meneruskan OpenVPN-Server) dan sejauh ini tidak menemui masalah.
sumber
Sebagian dari masalah Anda mungkin karena Pi menggunakan IP dinamis dari DHCP pada router Anda, penerusan port yang Anda atur tidak berfungsi, karena IP lokal Pi telah berubah.
Cara paling sederhana untuk memperbaikinya (setidaknya yang pernah saya lihat) adalah dengan mengatur IP statis. Ini relatif sederhana, asalkan Anda tidak keberatan mucking dalam file konfigurasi. Anda dapat membaca sedikit lebih mendalam di sini dan di sini . Saya juga akan menjelaskan cara sederhana di bawah ini:
Hubungkan ke Pi Anda baik melalui SSH dalam jaringan rumah Anda atau melalui layar, baik berfungsi.
Ambil pulpen dan kertas, Anda akan menuliskan beberapa info.
Jalankan perintah
ifconfig
. Saya tahu Anda sudah menjalankannya, tetapi kami perlu mengumpulkan lebih banyak info tentang IP lokal Anda saat ini. Ini mengungkapkan informasi router Anda, bit yang Anda inginkan adalah setelah eth0 (koneksi ethernet). . . .Tuliskan informasi berikut ...
Jelas, info Anda akan berbeda dari tutorial ini, jadi pastikan Anda menggunakan info Anda dari
ifconfig
perintah yang dijalankan pada Pi.Sekarang jalankan
netstat -nr
atauroute -n
. Kita butuh:Alamat 'Gateway' - 192.168.1.254 Alamat
'Tujuan' - 192.168.1.0
Sekarang kita memiliki info itu, kita dapat mengedit file antarmuka untuk mengatur IP dinamis. Lari
sudo nano /etc/network/interfaces
. Seharusnya terlihat seperti ini:Ubah baris:
untuk
Kemudian langsung di bawah baris ini masukkan yang berikut ini ( Harap Dicatat. Anda akan memerlukan alamat Anda sendiri yang kami kumpulkan di atas ). . . .
Pada dasarnya, bagian alamat adalah apa yang Anda inginkan untuk IP Anda. Lebih tinggi lebih baik, karena ada sedikit kemungkinan konflik IP. netmask - Alamat 'Mask' yang kami tulis sebelumnya.
jaringan - Alamat IP router, ini adalah Alamat 'Tujuan' ditemukan sebelumnya. Anda juga dapat mengambil ini dari router Anda, seharusnya mengatakan di samping di suatu tempat.
broadcast - Alamat 'Bcast' yang kami tulis sebelumnya.
gateway - Ini adalah alamat 'Gateway' yang kami temukan sebelumnya.
Tekan Ctrl+ Odan salah Enteratau Ylalu Enter. Setelah selesai, tekan Ctrl+ X.
Jalankan
sudo reboot
dan IP Anda harus ada di tempatnya! Masuk kembali dan jalankanifconfig
perintah lagi, dan seharusnya akan terlihat seperti ini sekarang:Kemudian konfigurasikan penerusan port Anda ke IP statis baru Anda, dan semuanya akan berfungsi! Semoga berhasil!
sumber
Satu-satunya hal yang Anda keliru konfigurasi adalah bahwa SSH adalah protokol TCP saja, sehingga Anda tidak perlu meneruskan lalu lintas UDP pada port 22.
Sekarang mengapa tampaknya tidak berfungsi mungkin karena router Anda tidak mendukung loopback NAT . Apa artinya adalah bahwa aturan NAT (seperti penerusan Anda) tidak berlaku ketika asal koneksi berasal dari LAN internal Anda. Tidak semua router memiliki fitur ini AKTIF. Jadi jika router Anda tidak mendukung loopback NAT, maka Anda tidak akan dapat terhubung ke RPi Anda menggunakan SSH saat menggunakan nama domain no-ip.com dan ketika melakukannya dari LAN Anda .
Untuk mencoba apakah konfigurasi Anda berfungsi, jika Anda memiliki ponsel cerdas dengan beberapa koneksi data (3G, LTE, dll.) Dan ada klien ssh di sana, cobalah untuk terhubung ke RPi Anda menggunakan paket data dan bukan koneksi WiFi Anda. Jika Anda tidak memiliki klien ssh di dalamnya dan Anda diizinkan melakukan tethering, maka gunakan ponsel cerdas Anda bersama dengan salah satu komputer Anda dengan mencabutnya untuk jaringan lokal Anda dan menggunakan tautan tethering sebagai gantinya.
sumber
Coba gunakan nama domain gratis, misalnya co.cc atau yang serupa, dan freeDNS (mereka juga menyediakan berbagai subdomain) untuk mengarah ke router Anda. Saya pikir Anda juga bisa mendapatkan skrip pembaruan jika router Anda memiliki IP dinamis.
Jika itu tidak berhasil, mungkin pengaturan untuk penerusan port Anda salah? Jenis router apa yang Anda miliki?
sumber
Try using a free domain name...
Dia memang melakukan itu, itulah klien no-ip. Ini jauh lebih sederhana daripada harus dipusingkan dengan DNSing dan router manual.Saya mengalami situasi ini di Finlandia: rpi terhubung ke router wifi seluler, huawei e5776, dan saya ingin terhubung ke rpi dengan SSH melalui internet, tanpa hasil sejauh ini dan akhirnya saya tahu Penyedia Layanan Internet saya memblokir koneksi dua arah untuk pelanggan broadband seluler. Lalu lintas dua arah untuk mereka adalah layanan tambahan, (yang harus Anda bayar) disebut gerbang terbuka oleh ISP saya. Jadi pergilah ke situs ISP Anda sendiri untuk melihat apakah itu masalahnya.
sumber
Slubbix menunjukkan kemungkinan masalah bahwa alamat IP lokal Raspberry Pi tidak diperbaiki. Ini akan membuat port forward di router Anda tidak bisa diandalkan. Secara default Raspberry Pi dikonfigurasi untuk menggunakan DHCP. Ini berarti bahwa IP diberikan oleh router. IP ini secara default juga tidak diperbaiki.
Salah satu solusi untuk masalah ini sudah ditunjukkan oleh Slubbix : untuk membuat IP Raspberry Pi diperbaiki.
Menurut pendapat saya ini memiliki dua kelemahan: tidak ada daftar global IP di jaringan Anda yang mudah dipelihara dan Anda tidak dapat menggunakan Raspberry Pi Anda di jaringan lain (IP sudah digunakan atau submask yang berbeda).
Oleh karena itu saya mengusulkan untuk melakukan hal berikut: mengkonfigurasi router Anda untuk menetapkan IP tetap ke alamat MAC Raspberry Pi Anda. Alamat MAC dapat ditemukan menggunakan perintah
ifconfig
sumber
Alamat IP lokal Raspberry Pi Anda tidak diperbaiki, kecuali jika Anda menggunakan adaptor nirkabel untuk menghubungkan, yang akan menjaga alamat IP-nya. Jika Anda ingin menggunakan SSH untuk RPI, Anda dapat menggunakan langkah-langkah ini:
Saya menemukan langkah ini dari sini dan mereka bekerja untuk saya
Berikut cara lain untuk menggunakan SSH:
Saya menemukan instruksi ini dari sini
sumber
Satu hal yang saya perhatikan untuk internet saya adalah ketika saya port forwarder server web saya dan saya mencoba untuk terhubung menggunakan ip publik saya itu akan mengatakan bahwa itu tidak tersedia, tetapi ketika saya terhubung ke sana di ponsel saya atau di jaringan sekolah saya Saya dapat terhubung dengannya, juga satu hal yang dapat Anda coba lakukan adalah pergi ke google dan ketik "IP" ke dalam kotak pencarian, salin ip yang diberikan kepada Anda dan kemudian pergi ke google menerjemahkan dan menempelkannya di ip Anda, dan kemudian klik pada alamat ip biru di jendela kanan, dan itu akan menunjukkan kepada Anda jika Anda berhasil portforward server web Anda.
sumber
Untuk mengizinkan lalu lintas masuk pada port SSH default (22), Anda bisa memberi tahu iptables untuk mengizinkan semua lalu lintas TCP pada port tersebut masuk.
Mengacu kembali ke daftar di atas, Anda dapat melihat bahwa ini memberi tahu iptables:
-A INPUT
) jadi kami melihat lalu lintas masuk-p tcp
).--dport ssh
).-j ACCEPT
).Semoga ini berfungsi untuk Anda juga Anda mungkin ingin menambahkan port ftp yang 20-21, cukup ubah
ssh
ke20
dan21
.sumber
Saya tidak yakin apakah pertanyaan ini membutuhkan jawaban tambahan tetapi cukup sederhana.
Instal OpenSSH atau aktifkan dari
raspi-config
Buka beranda router / firewall Anda dalam kasus saya 192.168.1.1
Cari port forwarding atau server virtual dan tambahkan sesuatu seperti berikut ini:
Port eksternal mulai: 1234 Port akhir eksternal: 1234
Port internal mulai dan berakhir 22.
Server IP adalah IP statis RPi Anda dalam kasus saya 192.168.1.50
Setelah semuanya diatur di sisi router catat IP WAN Anda dengan mencari IP Anda di Google.
Sekarang Anda harus dapat SSH ke pi melalui internet. Dalam kasus saya, saya menggunakan Chromebook dan shell aman ditambahkan. Saya mengetikkan nama pengguna dalam kasing saya
pi@mywanip
dan port 1234.Pada dasarnya aturan firewall dalam langkah 3 meneruskan semua lalu lintas pada port WAN IP 1234 ke port LAN IP internal 22.
sumber
Saya banyak berjuang dengan mengatur SSH melalui internet sampai saya menemukan metode sederhana ini:
http://raspctl.com
Cukup daftar dan salin dan tempel perintah. Anda mungkin perlu mengedit file konfigurasi tetapi hanya itu. Saya mengujinya hari ini dan itu berfungsi seperti pesona. Saya mencobanya dengan aplikasi Android SSH yang berbeda juga.
sumber