Android

Perintah ssh

Tutorial SSH Tunneling di Command Line Bahasa Indonesia

Tutorial SSH Tunneling di Command Line Bahasa Indonesia

Daftar Isi:

Anonim

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

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

, kami akan menjelaskan cara menggunakan klien command-line OpenSSH ( ssh ) untuk login ke mesin jarak jauh dan menjalankan perintah atau melakukan operasi lain.

Menginstal OpenSSH Client

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

Menginstal OpenSSH Client di Linux

Klien OpenSSH sudah diinstal pada sebagian besar distribusi Linux secara default. Jika sistem Anda tidak menginstal klien ssh, Anda dapat menginstalnya menggunakan manajer paket distribusi Anda.

Menginstal OpenSSH di Ubuntu dan Debian

sudo apt update sudo apt install openssh-client

Menginstal OpenSSH pada CentOS dan Fedora

sudo dnf install openssh-clients

Menginstal OpenSSH Client pada Windows 10

Sebagian besar pengguna Windows menggunakan Putty untuk terhubung ke mesin jarak jauh melalui SSH. Namun, versi terbaru Windows 10 termasuk klien dan server OpenSSH. Kedua paket dapat diinstal melalui GUI atau PowerShell.

Untuk menemukan nama persis paket OpenSSH, ketikkan perintah berikut:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Perintah harus mengembalikan sesuatu 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 menjalankan:

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

Jika berhasil, hasilnya akan terlihat seperti ini:

Path: Online: True RestartNeeded: False

Menginstal OpenSSH Client pada macOS

macOS dikirimkan bersama klien OpenSSH yang terinstal secara default.

Cara Menggunakan Perintah ssh

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

  • Server SSH harus dijalankan pada mesin jarak jauh. Port SSH harus terbuka di firewall mesin jarak jauh. Anda harus mengetahui nama pengguna 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:HOST

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

ssh ssh.linuxize.com

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.linuxize.com (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.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:

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

Ketika nama pengguna tidak diberikan, perintah ssh menggunakan nama login sistem saat ini.

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, klien SSH akan mencoba untuk terhubung ke server jarak 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 5522 username@hostname

ssh -v username@hostname

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

Perintah ssh menerima sejumlah opsi.

Untuk daftar lengkap semua opsi, baca halaman man ssh dengan mengetikkan man ssh di terminal Anda.

File Konfigurasi SSH

Klien OpenSSH 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.linuxize.com User mike Port 4422

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

ssh -p 4422 [email protected]

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

Otentikasi Kunci Publik

Protokol SSH mendukung berbagai mekanisme otentikasi.

Mekanisme otentikasi berbasis kunci publik 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 disimpan pada perangkat klien, dan kunci publik ditransfer ke setiap server jarak jauh yang ingin Anda masuki. Server jarak jauh harus dikonfigurasi untuk menerima otentikasi kunci.

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Anda akan diminta mengetikkan frasa 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 otor_keys pengguna jarak jauh.

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

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

Penerusan Port

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

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

Ada tiga jenis penerusan port SSH:

Penerusan Port Lokal

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

Untuk membuat penerusan port lokal, lewati opsi -L ke klien ssh :

ssh -L 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.

Penerusan Port Jarak Jauh

Penerusan port jarak jauh adalah kebalikan dari penerusan port lokal. Ini meneruskan port dari host server ke host klien dan kemudian ke port host tujuan.

Opsi -L memberi tahu ssh untuk membuat penerusan port jarak jauh:

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

Penerusan Port Dinamis

Penerusan port dinamis membuat server proxy SOCKS yang memungkinkan komunikasi melintasi berbagai port.

Untuk membuat penerusan port dinamis (SOCKS), lewati opsi -D ke klien ssh:

ssh -D LOCAL_PORT -N -f username@hostname

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

Kesimpulan

Untuk terhubung ke server 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.

terminal ssh