4 Cara Mempercepat Koneksi SSH di Linux


SSH adalah metode paling populer dan aman untuk mengelola server Linux dari jarak jauh. Salah satu tantangan dalam manajemen server jarak jauh adalah kecepatan koneksi, terutama dalam hal pembuatan sesi antara mesin jarak jauh dan mesin lokal.

Ada beberapa hambatan dalam proses ini, salah satu skenarionya adalah saat Anda menyambung ke server jarak jauh untuk pertama kalinya; biasanya diperlukan waktu beberapa detik untuk membuat sesi. Namun, ketika Anda mencoba memulai beberapa koneksi secara berurutan, hal ini menyebabkan overhead (kombinasi waktu komputasi berlebih atau tidak langsung, memori, bandwidth, atau sumber daya terkait lainnya untuk menjalankan operasi).

Pada artikel ini, kami akan membagikan empat tips berguna tentang cara mempercepat koneksi SSH jarak jauh di Linux.

1. Paksa Koneksi SSH Melalui IPV4

OpenSSH mendukung IPv4/IP6, namun terkadang koneksi IPv6 cenderung lebih lambat. Jadi Anda dapat mempertimbangkan untuk memaksa koneksi ssh melalui IPv4 saja, menggunakan sintaks di bawah ini:

ssh -4 [email 

Alternatifnya, gunakan direktif AddressFamily (menentukan kelompok alamat yang akan digunakan saat menghubungkan) di file konfigurasi ssh Anda /etc/ssh/ssh_config (konfigurasi global) atau ~ /.ssh/config (file khusus pengguna).

Nilai yang diterima adalah “apa saja ”, “inet ” hanya untuk IPv4, atau “inet6 ”.

vi ~.ssh/config 

Berikut adalah panduan awal yang berguna dalam mengonfigurasi file konfigurasi ssh khusus pengguna:

  1. Cara Mengonfigurasi Koneksi SSH Khusus untuk Menyederhanakan Akses Jarak Jauh

Selain itu, pada mesin jarak jauh, Anda juga dapat menginstruksikan daemon sshd untuk mempertimbangkan koneksi melalui IPv4 dengan menggunakan arahan di atas dalam file /etc/ssh/sshd_config.

2. Nonaktifkan Pencarian DNS Pada Mesin Jarak Jauh

Secara default, daemon sshd mencari nama host jarak jauh, dan juga memeriksa apakah nama host yang diselesaikan untuk alamat IP jarak jauh dipetakan kembali ke alamat IP yang sama. Hal ini dapat mengakibatkan keterlambatan dalam pembuatan koneksi atau pembuatan sesi.

Perintah UseDNS mengontrol fungsi di atas; untuk menonaktifkannya, cari dan hapus komentar di file /etc/ssh/sshd_config. Jika belum diset, tambahkan dengan nilai no.

UseDNS  no

3. Gunakan kembali Koneksi SSH

Program klien ssh digunakan untuk membuat koneksi ke daemon sshd yang menerima koneksi jarak jauh. Anda dapat menggunakan kembali koneksi yang sudah ada saat membuat sesi ssh baru dan ini dapat mempercepat sesi berikutnya secara signifikan.

Anda dapat mengaktifkannya di file ~/.ssh/config Anda.

Host *
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%r@%h-%p
	ControlPersist 600

Konfigurasi di atas (Host *) akan memungkinkan penggunaan kembali koneksi untuk semua server jarak jauh yang Anda sambungkan menggunakan arahan berikut:

  • ControlMaster – memungkinkan berbagi beberapa sesi melalui satu koneksi jaringan.
  • ControlPath – menentukan jalur ke soket kontrol yang digunakan untuk berbagi koneksi.
  • ControlPersist – jika digunakan bersama dengan ControlMaster, memberitahu ssh untuk menjaga koneksi master tetap terbuka di latar belakang (menunggu koneksi klien di masa mendatang) setelah koneksi klien awal ditutup.

Anda dapat mengaktifkan ini untuk koneksi ke server jarak jauh tertentu, misalnya:

Host server1
	HostName   www.example.com
	IdentityFile  ~/.ssh/webserver.pem
      	User username_here
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%r@%h-%p
	ControlPersist  600

Dengan cara ini Anda hanya mengalami overhead koneksi untuk koneksi pertama, dan semua koneksi berikutnya akan jauh lebih cepat.

4. Gunakan Metode Otentikasi SSH Tertentu

Cara lain untuk mempercepat koneksi ssh adalah dengan menggunakan metode otentikasi yang diberikan untuk semua koneksi ssh, dan di sini kami menyarankan untuk mengkonfigurasi login ssh tanpa kata sandi menggunakan ssh keygen dalam 5 langkah mudah.

Setelah selesai, gunakan direktif PreferredAuthentications, dalam file ssh_config (global atau khusus pengguna) di atas. Arahan ini menentukan urutan klien harus mencoba metode autentikasi (Anda dapat menentukan daftar yang dipisahkan perintah untuk menggunakan lebih dari satu metode).

PreferredAuthentications=publickey 

Secara opsional, gunakan sintaks di bawah ini dari baris perintah.

ssh -o "PreferredAuthentications=publickey" [email 

Jika Anda lebih suka otentikasi kata sandi yang dianggap tidak aman, gunakan ini.

ssh -o "PreferredAuthentications=password" [email 

Terakhir, Anda perlu me-restart daemon sshd Anda setelah melakukan semua perubahan di atas.

systemctl restart sshd	#Systemd
service sshd restart 		#SysVInit

Untuk informasi selengkapnya tentang arahan yang digunakan di sini, lihat halaman manual ssh_config dan sshd_config.

man ssh_config
man sshd_config 

Lihat juga panduan berguna ini untuk mengamankan ssh di sistem Linux:

  1. 5 Praktik Terbaik untuk Mengamankan dan Melindungi Server SSH
  2. Cara Memutuskan Koneksi SSH yang Tidak Aktif atau Idle di Linux

Itu saja untuk saat ini! Apakah Anda punya tips/trik untuk mempercepat koneksi SSH. Kami ingin mendengar cara lain untuk melakukan hal ini. Gunakan formulir komentar di bawah untuk berbagi dengan kami.