GNU/Linux >> Belajar Linux >  >> Linux

Singkirkan Masalah Konektivitas Jaringan di SSH dengan Mosh

Untuk login ke sistem jarak jauh, kami menggunakan telnet. Karena kerentanan keamanan yang parah dari telnet, itu digantikan oleh ssh .

SSH memungkinkan pengguna untuk masuk ke sistem jarak jauh dengan/tanpa kata sandi tetapi dengan bantuan kunci pribadi dan kunci publik. Keuntungan utama SSH adalah enkripsinya. Hal ini memungkinkan pengguna untuk berkomunikasi dengan sistem jarak jauh tanpa takut menguping atau merusak.

Kekurangan SSH

Untuk menjalankan ssh dalam istilah sederhana, ini adalah koneksi TCP dari paket terenkripsi.

SSH mengirimkan paket antara sistem lokal dan remote seperti telnet tetapi isi paket dienkripsi. Tidak ada buffering dan pemrosesan di tengah. Bahkan karakter yang Anda ketik dikirim ke sistem jarak jauh dan kemudian sistem jarak jauh mengirimkan responsnya (yang berisi karakter yang diketik untuk ditampilkan di layar) ke sistem lokal.

Dapatkah Anda melihat seluruh perjalanan pulang pergi untuk melihat satu karakter yang Anda ketik ???

“””Itu hanya mengirim/menerima paket terenkripsi “””

Namun apa jadinya bila jaringan terputus atau sangat lambat. Koneksi TCP akan terputus dan sistem lokal akan dibiarkan menggantung di udara tanpa kesalahan. Ini bukan sistem Linux beku pada umumnya, hanya terminal beku dengan koneksi SSH yang terputus.

Anda mungkin merasa frustrasi dengan ssh dalam salah satu situasi di bawah ini.

  1. Koneksi jaringan Anda terputus. Sesi ssh Anda tidak akan menampilkan apa pun. Saat Anda mengetik di shell, Anda akan melihat bahwa tidak ada yang terjadi. Kemudian Anda akan memeriksa ikon internet/Wi-fi.
  2. Ketika Anda memiliki koneksi internet yang lambat, situasi yang sama akan muncul. Karakter yang Anda ketik di sistem lokal mungkin muncul setelah beberapa detik, atau dalam kasus yang lebih buruk, bahkan beberapa menit.
  3. Bila Anda tidak aktif dalam waktu lama, terkadang SSH akan berhenti bekerja meskipun komputer Anda tidak dalam keadaan idle dan koneksi jaringan aktif.

Untuk meringkas, SSH memberikan keamanan yang hebat tetapi sedikit kegunaan dalam koneksi latency tinggi. Anda dapat menggunakan perintah nohup di Linux untuk terus menjalankan perintah bahkan setelah koneksi SSH terputus, tetapi itu bukan solusi yang baik. Anda tahu apa yang lebih baik? Astaga!

Mosh:SSH tanpa masalah konektivitas

Mosh adalah singkatan dari MObile SHell . Ini memberikan solusi sederhana untuk semua masalah yang disebutkan di atas. Ini menggunakan teknik yang mirip dengan buffering dan sinkronisasi item (objek) menggunakan protokol SSP (Protokol Sinkronisasi negara). Dan untuk mengirimkan paket, ia menggunakan UDP yang merupakan protokol tanpa koneksi.

Untuk mengetahui cara kerja mosh, baca halaman resminya.

Untuk menghindari penemuan kembali roda, mosh menggunakan ssh untuk otentikasi. Jadi Anda tidak perlu membuat pasangan kunci baru atau pengguna dan sejenisnya. Jadi setiap keuntungan keamanan yang ssh memiliki juga dengan mosh . Ini juga menyiratkan bahwa Anda harus memiliki pengaturan SSH yang berfungsi baik di sistem lokal maupun jarak jauh.

Instal mosh di Ubuntu dan distribusi Linux lainnya

Jika Anda belum menginstal dan mengonfigurasi ssh, harap pelajari dasar-dasar SSH dan aktifkan SSH di Ubuntu atau Linux apa pun yang Anda gunakan.

Setelah memastikan Anda memiliki pengaturan SSH yang berfungsi, menginstal mosh adalah tugas yang mudah. Paket yang perlu Anda instal sama di sistem lokal dan jarak jauh.

Untuk memasang mosh di distribusi Linux berbasis Ubuntu atau Debian, Anda dapat menggunakan perintah berikut, satu per satu:

sudo apt update
sudo apt install mosh

Mosh tersedia di semua distribusi Linux utama. Gunakan manajer paket distribusi Anda untuk menginstalnya.

Setelah Anda selesai menginstal mosh, semuanya sudah siap di sisi klien/lokal. Di sisi jarak jauh (yaitu server), Anda harus melakukan konfigurasi sederhana.

Mengonfigurasi mosh di server jauh

Ingat bagian yang saya katakan mosh menggunakan UDP? Secara default, mosh menggunakan port UDP 60000-61000. Jadi jika Anda memiliki firewall pada sistem jarak jauh, Anda harus menulis ulang aturan firewall untuk port tersebut sebagai berikut. ufw adalah pengelola firewall.

sudo ufw allow 60000:61000/udp

Mari terhubung melalui mosh

Sampai sekarang, kami memiliki SSH yang berfungsi, mosh yang diinstal di kedua sistem, dan aturan firewall yang memungkinkan lalu lintas UDP pada port 60K-61K di server jauh.

Untuk menggunakan mosh, sesederhana di bawah ini

mosh [email protected]

Ya! Saya tahu. Sesederhana itu seperti ssh.

Tetapi bagaimana jika saya perlu menentukan port ssh selain port default atau menggunakan opsi khusus ssh. mosh telah membuat Anda tertutup. Anda hanya perlu melewati “opsi ssh [argumen] ” ke opsi –ssh .

Misalnya, saya perlu terhubung ke ssh berjalan di port 2222 di server jauh. Ini dapat dilakukan sebagai berikut.

mosh [email protected] --ssh="ssh -p 2222"

Itu saja sistem terhubung. Sekarang untuk menyadari kekuatan mosh, coba matikan dan hidupkan kembali koneksi jaringan Anda. Anda dapat melihat mosh masih bekerja. Keren banget!

Saya harap Anda menyukai tutorial ini di Mosh. Sejak saya menemukan Mosh, saya telah berhenti menggunakan ssh untuk menghubungkan ke server jarak jauh. Bagaimana dengan kamu? Apakah Anda suka Mosh atau masih lebih suka SSH? Bagikan pandangan Anda.


Linux
  1. Memulai NetworkManager di Linux

  2. Diagnosis masalah konektivitas dengan perintah ping Linux

  3. Menghitung jaringan baru dengan Nmap

  1. Telnet ke Port untuk Menguji Konektivitas Jaringan

  2. Cara menuju ke layanan/server yang berada di jaringan yang tidak dapat diakses (menggunakan terowongan SSH)

  3. SSH dengan authorized_keys ke sistem Ubuntu dengan homedir terenkripsi?

  1. Memecahkan masalah jaringan Anda dengan tcpdump

  2. Otomatisasi kata sandi SSH di Linux dengan sshpass

  3. Apa kemungkinan masalah keamanan dengan daemon SSH?