Penjelasan Perintah SSH di Terminal Linux

Secure Shell (SSH) adalah protokol jaringan kriptografi yang digunakan untuk koneksi terenkripsi antara klien dan server. SSH client membuat koneksi aman ke SSH” server pada mesin jarak jauh. Koneksi terenkripsi dapat digunakan untuk menjalankan perintah di server, tunneling X11, port forwarding, dan banyak lagi.

Ada sejumlah SSH client yang tersedia secara gratis dan komersial, dengan OpenSSH menjadi klien yang paling banyak digunakan. Ini tersedia di semua platform, termasuk Linux, OpenBSD, Windows, macOS dan lainnya.

Pada artikel ini, kami akan menjelaskan cara menggunakan OpenSSH client (ssh) di baris perintah untuk masuk ke mesin jarak jauh dan menjalankan perintah atau melakukan operasi lain.

*Instal OpenSSH Client*

Program OpenSSH client disebut ssh dan dapat dipanggil dari terminal. Paket OpenSSH client juga menyediakan utilitas SSH lain seperti scp dan sftp yang diinstal di samping perintah ssh.

-Install OpenSSH Client di Linux-

Klien OpenSSH sudah diinstal pada sebagian besar distribusi Linux secara default. Jika sistem Anda tidak ada ssh client, Anda dapat menginstalnya menggunakan package manager distribusi Anda.

Install OpenSSH di Ubuntu dan Debian

sudo apt update sudo apt install openssh-client

Install OpenSSH pada CentOS dan Fedora

sudo dnf install openssh-clients

Install OpenSSH Client pada Windows 10

Sebagian besar user Windows menggunakan Putty untuk terhubung ke mesin jarak jauh melalui SSH. Namun, versi terbaru dari Windows 10 sudah terdapat OpenSSH client dan server. Kedua paket dapat diinstal melalui GUI atau PowerShell.

Untuk menemukan nama persis paket OpenSSH, ketikkan perintah berikut:

Get-WindowsCapability -Online | ? Name -like ‘OpenSSH*’

Perintah diatas akan mengembalikan output kurang lebih seperti ini:

Name : OpenSSH.Client~~~~0.0.1.0 State : NotPresent Name : OpenSSH.Server~~~~0.0.1.0 State : NotPresent

Setelah Anda tahu nama paket instal dengan jalankan:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Jika berhasil, hasilnya akan terlihat seperti ini:

Path : Online : True RestartNeeded : False

Instal OpenSSH Client pada macOS

macOS dikirimkan bersama OpenSSH client yang terinstal secara default.

*Cara Menggunakan Perintah ssh*

Persyaratan berikut harus dipenuhi untuk dapat masuk ke mesin jarak jauh melalui SSH:

· SSH Server harus dijalankan pada mesin jarak jauh. · Port SSH harus terbuka di firewall mesin jarak jauh. · Anda harus mengetahui nama user dan kata sandi akun jarak jauh. Akun harus memiliki hak istimewa yang tepat untuk login jarak jauh.

Sintaks dasar dari perintah ssh adalah sebagai berikut:

ssh [OPTIONS] [USER@]:HOST

Untuk menggunakan perintah ssh, buka Terminal atau PowerShell Anda dan ketik ssh diikuti dengan nama host jarak jauh:

ssh ssh.linuxid.net

Saat Anda terhubung ke mesin jarak jauh melalui SSH untuk pertama kalinya, Anda akan melihat pesan seperti di bawah ini.

The authenticity of host ‘ssh.linuxid.net (192.168.121.111)’ can’t be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?

Setiap host memiliki sidik jari unik yang disimpan dalam file ~/.ssh/known_hosts

Ketik yes” untuk menyimpan sidik jari jarak jauh, dan Anda akan diminta memasukkan kata sandi.

Warning: Permanently added ‘ssh.linuxid.net’ (ECDSA) to the list of known hosts.

dev@ssh.linuxid.net’s password:

Setelah Anda memasukkan kata sandi, Anda akan masuk ke mesin jarak jauh.

Ketika nama user tidak diberikan, perintah ssh menggunakan username yang login pada sistem lokal.

Untuk masuk sebagai pengguna yang berbeda, tentukan nama pengguna dan host dalam format berikut:

ssh username@hostname

Nama pengguna juga dapat ditentukan dengan opsi -l:

ssh -l username hostname

Secara default, ketika tidak ada port yang diberikan, SSH client akan mencoba untuk terhubung ke server jauh pada port 22. Pada beberapa server, administrator mengubah port SSH default untuk menambahkan lapisan keamanan tambahan ke server dengan mengurangi risiko serangan otomatis.

Untuk terhubung pada port non-default, gunakan opsi -p untuk menentukan port:

ssh -p 15522 username@hostname

Jika Anda mengalami masalah otentikasi atau koneksi, gunakan opsi -v untuk memberitahu ssh untuk mencetak pesan debug:

ssh -v username@hostname

Untuk meningkatkan tingkat verbositas, gunakan -vv atau -vvv.

Perintah ssh” menerima sejumlah opsi. Untuk daftar lengkap semua opsi, baca halaman manual ssh dengan mengetikkan man ssh di terminal Anda.

*File Konfigurasi SSH*

Jika Anda terhubung ke beberapa sistem jarak jauh melalui SSH setiap hari, pasti akan merepotkan jika harus mengingat semua alamat IP jarak jauh, nama pengguna yang berbeda, port non-standar, dan berbagai opsi baris perintah sulit,dan lain sebagainya.

OpenSSH client membaca opsi yang diatur dalam file konfigurasi per-pengguna (~/.ssh/config). Dalam file ini, Anda dapat menyimpan opsi SSH yang berbeda untuk setiap mesin jarak jauh yang Anda sambungkan.

Contoh konfigurasi SSH ditunjukkan di bawah ini:

Host dev HostName dev.linuxid.net User rudi Port 41422

Ketika Anda memanggil klien ssh dengan mengetikkan ssh dev, perintah akan membaca file ~/.ssh/config dan menggunakan detail koneksi yang ditentukan untuk host dev. Dalam contoh ini, mengetik perintah ssh dev setara dengan yang berikut:

ssh -p 41422 rudi@dev.linuxid.net

Untuk informasi lebih lanjut, periksa artikel kami tentang file konfigurasi SSH.

*Otentikasi Public Key*

Protokol SSH mendukung berbagai mekanisme otentikasi.

Mekanisme otentikasi berbasis public key memungkinkan Anda untuk masuk ke server jarak jauh tanpa harus mengetikkan kata sandi Anda.

Metode ini bekerja dengan menghasilkan sepasang kunci kriptografi yang digunakan untuk otentikasi. Kunci pribadi (private key) disimpan pada perangkat klien, dan kunci publik (public key) ditransfer ke setiap server jarak jauh yang ingin Anda masuki. Server jarak jauh harus dikonfigurasi untuk menerima otentikasi berbasis key.

Jika Anda belum memiliki SSH key pair di mesin lokal Anda, Anda dapat membuatnya dengan mengetik:

ssh-keygen -t rsa -b 4096 -C “your_email@domain.com”

Anda akan diminta mengetikkan kata sandi yang aman. Apakah Anda ingin menggunakan frasa sandi, itu terserah Anda.

Setelah Anda memiliki pasangan kunci Anda, salin kunci publik ke server jarak jauh:

ssh-copy-id username@hostname

Masukkan kata sandi pengguna jarak jauh, dan kunci publik akan ditambahkan ke file authorized_keys pengguna jarak jauh.

Setelah kunci diunggah, Anda dapat masuk ke server jarak jauh tanpa diminta kata sandi.

Dengan menetapkan otentikasi berbasis key, Anda dapat menyederhanakan proses login dan meningkatkan keamanan server secara keseluruhan.

*Port Forwarding*

SSH tunneling atau port forwarding adalah metode untuk membuat koneksi SSH terenkripsi antara klien dan mesin server melalui mana port layanan dapat di-relay.

SSH forwarding berguna untuk mengangkut data jaringan layanan yang menggunakan protokol yang tidak terenkripsi, seperti VNC atau FTP, mengakses konten yang dibatasi secara geografis atau mem-bypass firewall. Pada dasarnya, Anda dapat meneruskan port TCP apa pun dan menyalurkan lalu lintas melalui koneksi SSH yang aman.

Ada tiga jenis SSH port forwarding:

-Local port forwarding-

Local port forwarding memungkinkan Anda untuk meneruskan koneksi dari host klien ke host SSH server dan kemudian ke port host tujuan.

Untuk membuat Local port forwarding berikan opsi -L ke klien ssh:

ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname

Opsi -f memberitahu perintah ssh untuk dijalankan di latar belakang dan -N tidak untuk mengeksekusi perintah jarak jauh.

-Remote port forwarding-

Remote port forwarding adalah kebalikan dari local port forwarding. Ini meneruskan port dari host server ke host klien dan kemudian ke port host tujuan.

Opsi -L memberi tahu ssh untuk membuat remote port forwarding:

ssh -R [REMOTE:]REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname

-Dynamic port forwarding-

Dynamic port forwarding membuat SOCKS proxy server yang memungkinkan komunikasi melintasi berbagai port.

Untuk membuat Dynamic port forwarding (SOCKS) berikan opsi -D ke ssh client:

ssh -D [LOCAL_IP:]LOCAL_PORT -N -f username@hostname

Untuk informasi lebih rinci dan instruksi langkah demi langkah, lihat artikel tentang Cara Mengatur SSH Tunneling (Port Forwarding).

*Kesimpulan*

Untuk terhubung ke server jarak jauh melalui SSH gunakan perintah ssh diikuti oleh nama pengguna dan hostname jarak jauh (ssh username@hostname).

Mengetahui cara menggunakan perintah ssh sangat penting untuk mengelola server jarak jauh.

Leave a Reply

Your email address will not be published.