Saya memiliki beberapa mesin di rumah yang ingin saya akses dari sekolah menggunakan SSH dan VNC. Untuk melakukan itu, saya memberi mereka IP statis:
- 192.168.1.50: Windows
- 192.168.1.51: Ubuntu
- 192.168.1.52: Raspberry Pi / Raspbian
Saya tahu SSH menggunakan port 22, jadi saya bisa meneruskan port ini ke 192.168.1.51:22 di router saya, tetapi dengan cara ini saya tidak akan bisa SSH ke Raspberry Pi saya. Apakah ada cara saya bisa mengatur ini untuk dapat mengakses kedua mesin?
networking
ssh
port-forwarding
acourchesne
sumber
sumber
Jawaban:
Jika Anda memiliki IPv6, Anda bahkan tidak perlu port forwarding! Cukup dapatkan alamat IPv6 permanen Anda (berdasarkan alamat MAC Anda, jadi dijamin tetap sama kecuali ISP Anda tidak tahu bagaimana IPv6 bekerja) dan gunakan ini untuk menggali. Karena alamat IPv6 Anda menghadap ke depan umum dan memungkinkan dunia untuk mengakses Anda tanpa harus melalui NAT lokal Anda, Anda tidak perlu repot mengaktifkan port-forwarding di mana pun. Ini akan "hanya bekerja."
Perhatikan, bagaimanapun, bahwa IPv6 masih belum benar-benar didukung secara global, dan baik koneksi internet rumah Anda maupun koneksi internet jarak jauh perlu memiliki IPv6 yang berfungsi penuh untuk melakukan ini.
Namun, jika Anda seperti kebanyakan orang dan hanya memiliki IPv4, masih ada jalan! Beberapa router memungkinkan Anda untuk meneruskan port sumber tertentu ke port tujuan tertentu, seperti:
Dalam contoh ini, port
22
diteruskan langsung ke mesin sayasheepdog
, sementara port292
diteruskan ke port22
aktifcoyote
.Terakhir, jika router Anda tidak memiliki fitur ini, Anda dapat mengubah port, karena SSH tidak terbatas hanya berjalan di port
22
. Anda dapat mengaturnya untuk apa pun yang Anda inginkan (yang tidak digunakan).Di
/etc/ssh/sshd_config
(Anda perlu root untuk mengedit, makasudo nano /etc/ssh/sshd_config
), ada baris di bagian atas file:Ubah ini menjadi apa pun yang Anda inginkan:
Mulai ulang server SSH dengan
sudo service ssh restart
, dan teruskan port pada router.Namun, untuk kasus penggunaan ini, saya akan mempertimbangkan apakah terowongan SSH adalah hal yang benar untuk dilakukan. Mungkin Anda harus mengatur server VPN khusus di jaringan rumah Anda? Ini akan memungkinkan Anda untuk mengakses seluruh jaringan rumah Anda dari mana saja, asalkan Anda memiliki kredensial keamanan yang diperlukan oleh VPN. Selain itu, ada biaya overhead yang sedikit lebih rendah dengan VPN; Anda biasanya hanya perlu meneruskan satu port untuk satu mesin.
sumber
Cara mudah untuk mengatasi masalah ini adalah memetakan port yang berbeda dari router Anda ke port 22 mesin Anda. Misalnya, Anda dapat memiliki pengaturan berikut di router Anda (dengan asumsi router Anda memiliki IP
1.2.3.4
)Kemudian ketika Anda menggunakan ssh, tentukan port yang ingin Anda gunakan dengan mengetik
Sekarang Anda harus dapat terhubung ke semua mesin Anda.
sumber
Jika Anda tahu salah satu komputer Anda selalu menyala, Anda juga memiliki kemungkinan untuk menggunakannya sebagai proxy ssh.
katakanlah Anda memiliki pengaturan nama domain untuk alamat IP eksternal Anda (yaitu myhome.dyndns.com atau apa pun), apa yang akan Anda lakukan adalah terhubung pada satu komputer (misalkan raspberry selalu menyala, dan Anda meneruskan port dari router Anda ke itu), koneksi ssh Anda akan:
school -> (router, transparan di sini) -> raspberry -> ubuntu atau windows
sekarang, di ~ / .ssh / config Anda di sekolah, tambahkan baris:
Untuk menghubungkan kemudian:
Mulai sekarang, jika Anda mengetik ssh ubuntu, komputer pertama-tama akan terhubung ke raspberry, dan kemudian memulai sesi ssh ke komputer ubuntu.
Saya sarankan Anda, apa pun port yang Anda pilih untuk meneruskan, untuk menonaktifkan kata sandi di /etc/sshd.conf untuk mengizinkan hanya login melalui kunci ssh. Dengan cara ini, jika Anda mengatur kunci pada raspberry dan di ubuntu, dengan parameter 'ForwardAgent', Anda harus membuka kunci kunci saja dan tidak ada kata sandi yang diperlukan untuk terhubung. Dengan cara ini, bahkan jika bot mencoba masuk di ssh Anda, mereka tidak akan pernah bisa masuk karena Anda melarang masuk dengan kata sandi.
Bonus, ini berfungsi juga dengan scp, scp foo ubuntu: / tmp / foo akan menggunakan pengaturan yang sama tanpa parameter lebih lanjut. Bonus 2, pengaturan ini tidak memerlukan perubahan apa pun di rumah, jika besok Anda dan komputer lain, cukup salin / tempel kode dalam konfigurasi ssh Anda, ubah host dan ip, itu saja, tidak perlu membuka port baru di router
sumber
Saya melakukan ini - saya meninggalkan rpi dan terhubung langsung ke router sepanjang waktu (karena ini yang termurah untuk dijalankan) dan hanya ssh ke dalamnya, lalu bangkit dari itu ke yang lain - tidak pernah membutuhkan banyak perhatian.
Dimungkinkan juga untuk VNC / RDP GUI melalui pipa ssh, agak menyenangkan, atau meneruskan port yang memungkinkan Anda menjelajah ke server di komputer desktop Anda sekaligus menjaganya tetap pribadi.
Alasan saya menambahkan jawaban ini adalah pergi memberi Anda beberapa saran.
1) Gunakan port berbeda dari 22. Anda dapat membiarkannya 22 pada PI, tetapi ubah port yang masuk pada router Anda menjadi lebih dari 10.000 ... Jika tidak, Anda akan mendapatkan lusinan hingga ratusan serangan sehari - dan begitu Anda Dikenal menjalankan host SSH begitu eksploit ditemukan, Anda adalah pemiliknya.
2) Gunakan sertifikat alih-alih nama pengguna / kata sandi - sepenuhnya menonaktifkan login nama pengguna / kata sandi.
3) Jika alamat ip Anda dapat berubah, gunakan layanan jenis dyndns untuk mendapatkan sendiri nama host DNS (saya menggunakan noip, itu gratis dan mereka mendukung klien Linux untuk memperbarui alamat ip Anda - Saya pikir Anda bisa langsung menggunakannya pi sekarang). Masih ada beberapa perusahaan lain yang menawarkan ini secara gratis.
4) Tetap perbarui pi Anda (atau apa pun yang Anda ssh) (sudo apt-get update). Saya percaya ssh sudah cukup diperiksa sekarang, tapi saya juga percaya bahwa dari https ...
sumber
Meragukan apakah ini lebih cocok sebagai komentar daripada jawaban, tetapi saya akan tetap memposting di sini.
Beberapa hal yang harus Anda pikirkan sebelum melakukan ini:
sumber