GNU/Linux >> Belajar Linux >  >> Linux

Perintah SSH di Linux dengan Contoh Penggunaan

SSH adalah protokol jaringan untuk masuk dengan aman ke mesin jarak jauh dan menjalankan perintah. Ini dirancang dan dibuat untuk memberikan keamanan terbaik saat mengakses komputer lain dari jarak jauh. Setiap kali data dikirim oleh komputer ke jaringan, ssh akan secara otomatis mengenkripsinya.

Untuk menggunakan SSH, mesin tujuan harus menginstal aplikasi server SSH karena SSH adalah model client-server. Server SSH, secara default, mendengarkan pada port TCP standar 22. Klien SSH secara default tersedia di semua distribusi Linux.

Dalam tutorial ini, kita mempelajari Perintah SSH di Linux dengan contoh penggunaan.

Prasyarat

  • Klien SSH
  • Server SSH
  • Alamat IP atau nama server jauh

1. Cara SSH ke Server Jarak Jauh

Server jarak jauh terhubung menggunakan alamat IP atau nama host. Untuk menghubungkan ssh menggunakan alamat IP, gunakan perintah berikut:

ssh [ IP ADDRESS]

Untuk terhubung ke ssh menggunakan nama, gunakan perintah berikut:

ssh [ HOSTNAME ]

Misalnya, untuk terhubung ke host jarak jauh menggunakan alamat IP 192.168.239.133, perintahnya adalah sebagai berikut.

$ ssh 192.168.239.133

Saat Anda pertama kali terhubung ke host, sebuah pesan muncul menanyakan apakah Anda ingin melanjutkan koneksi. Ketik ya, lalu masukkan sandi untuk host jarak jauh Anda.

2. SSH dengan nama pengguna

SSH menggunakan pengguna server jarak jauh saat ini saat mencoba terhubung. Untuk terhubung ke ssh dengan nama pengguna, gunakan sintaks berikut.

ssh [USERNAME]@[HOSTNAME/IP ADDRESS]

Misalnya, untuk terhubung ke host jarak jauh dengan alamat IP 192.168.239.134 yang memiliki nama pengguna kali, gunakan perintah berikut.

$ ssh [email protected]

3. SSH dengan nomor Port yang berbeda

Server SSH mendengarkan port TCP 22 secara default tetapi jika Anda ingin mengubahnya, Anda perlu menentukan port dalam perintah.

Untuk terhubung ke host jarak jauh menggunakan nomor port yang berbeda, gunakan flag -p seperti yang ditunjukkan pada sintaks berikut.

ssh [ IP ADDRESS/HOSTNAME ] -p [ PORT NUMBER ]

Misalnya, untuk menyambung ke host jarak jauh dengan alamat IP 192.168.239.134 menggunakan nomor port 223, gunakan perintah berikut.

$ ssh 192.168.239.134 -p 223

4. SSH tanpa kata sandi

Dalam tiga langkah sederhana, Anda dapat terhubung ke host jarak jauh menggunakan ssh tanpa kata sandi. Tiga langkah yang diperlukan untuk masuk ke server jauh tanpa memasukkan kata sandi adalah sebagai berikut.

Buat kunci SSH

Untuk menghasilkan kunci SSH, ssh-keygen digunakan yang membuat kunci publik dan pribadi. Pasangan kunci ini digunakan untuk mengautentikasi antara klien dan server.

Untuk membuat sepasang kunci, masukkan perintah berikut pada mesin klien.

$ ssh-keygen -t rsa

Masukkan lokasi dan parafrase, atau tekan enter untuk menggunakan pengaturan default.

Salin kunci SSH publik

Anda perlu menyalin kunci SSH publik ke server jauh untuk menggunakan pasangan kunci. Untuk menyalin kunci SSH publik ke server jauh, gunakan sintaks berikut pada mesin host.

ssh-copy-id [USERNAME]@[HOSTNAME/IP ADDRESS]

Untuk menyalin kunci SSH dari alamat IP 192.168.239.134, gunakan perintah berikut.

$ ssh-copy-id [email protected]

Masuk dari jarak jauh tanpa kata sandi

Sekarang Anda dapat masuk ke server jauh tanpa kata sandi menggunakan perintah berikut.

ssh [USERNAME]@[HOSTNAME/IP ADDRESS]

Misalnya, untuk terhubung ke host jarak jauh dengan alamat IP 192.168.239.134 yang memiliki nama pengguna kali, gunakan perintah berikut.

$ ssh [email protected]

5. Jalankan Perintah di Server Jarak Jauh menggunakan SSH

Perintah ssh dapat digunakan untuk masuk ke server jauh. Itu juga dapat digunakan untuk menjalankan perintah di server jauh.

Sintaks dasar untuk menjalankan perintah melalui ssh adalah sebagai berikut.

ssh USER1@SERVER1 COMMAND1

ssh USER1@SERVER1 'COMMAND2'

ssh USER1@SERVER1 'COMMAND1 | COMMAND2'

ssh ADMIN@BOX1 "COMMAND1; COMMAND2; COMMAND3"

Untuk mendapatkan tanggal dan waktu server jarak jauh, gunakan sintaks berikut:

ssh USER1@SERVER1 date

Misalnya, untuk mendapatkan tanggal pengguna kali dari server alamat IP 192.168.239.134, gunakan perintah berikut.

$ ssh [email protected] date

Untuk memeriksa penggunaan ruang disk server jarak jauh, sintaksnya adalah sebagai berikut.

ssh USER1@SERVER1 'df -H'

Misalnya, untuk mendapatkan penggunaan ruang disk pengguna kali dari server alamat IP 192.168.239.134, gunakan perintah berikut.

$ ssh [email protected] 'df -H'

Untuk memeriksa log reboot terakhir dari pengguna jarak jauh, gunakan sintaks berikut.

ssh USER1@SERVER1 "last reboot"

Misalnya, untuk mendapatkan log reboot terakhir pengguna kali dari server alamat IP 192.168.239.134, gunakan perintah berikut.

$ ssh [email protected] "last reboot"

Opsi Baris Perintah SSH

Mari kita lihat beberapa opsi yang tersedia dengan perintah ssh.

ssh -C

Gunakan opsi -C dengan ssh untuk meminta kompresi pada semua data yang diterima atau ditransfer dari server jauh, seperti yang terlihat pada sintaks berikut.

ssh -C [USERNAME]@[HOSTNAME/IP ADDRESS]

Misalnya,

$ ssh -C [email protected]

ssh -v

Opsi -v digunakan dengan perintah ssh untuk men-debug klien ssh. Berikut sintaksnya:

$ ssh -v [USERNAME]@[HOSTNAME/IP ADDRESS]

Misalnya,

$ ssh -v [email protected]

ssh -b

Opsi -b digunakan untuk mengikat alamat IP ke koneksi SSH. Alamat IP akan digunakan sebagai alamat sumber koneksi SSH. Ini digunakan ketika klien memiliki lebih dari dua alamat IP dan Anda mungkin tidak tahu alamat IP mana yang digunakan untuk membuat koneksi ke server SSH.

Misalnya,

$ ssh -b 192.168.239.133 [email protected]

Perintah akan mengikat alamat IP ke server jauh. Kita dapat memeriksanya menggunakan netstat |grep ssh perintah untuk memeriksa koneksi.

ssh -F

Opsi -F digunakan bersama dengan perintah ssh untuk menentukan konfigurasi per pengguna. File konfigurasi default adalah ~/.ssh/config.

Untuk menggunakan file konfigurasi tertentu, gunakan opsi -F dengan cara berikut.

$ ssh -F [File Location] [USERNAME]@[HOSTNAME/IP ADDRESS]

Misalnya,

$ ssh -F /etc/ssh/ssh_config.d [email protected]

ssh -L

Opsi -L digunakan untuk penerusan port lokal. Penerusan port lokal memungkinkan kami untuk merutekan lalu lintas dari host kami ke port tujuan melalui proxy.

Sintaks dasar untuk penerusan port lokal adalah sebagai berikut.

ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATIONPORT [USERNAME]@[HOSTNAME/IP ADDRESS]

Misalnya, jalankan perintah berikut untuk terhubung ke remote host pada port 3306 pengguna kali dengan IP 192.168.239.134 dari localhost 192.168.239.133 pada port 3336.

$  ssh -L 3336:192.168.239.133:3306 [email protected]

ssh -R

Opsi -R digunakan bersama dengan perintah SSH untuk mengaktifkan penerusan port jarak jauh. Ini berarti Anda dapat meneruskan port di server jauh ke port di mesin lokal Anda, yang kemudian diteruskan ke port di mesin tujuan.

Sintaks dasar untuk penerusan port jarak jauh adalah sebagai berikut.

ssh -R [REMOTE:]REMOTE_PORT:DESTINATION:DESTINATION_PORT [USERNAME]@[HOSTNAME/IP ADDRESS]

Misalnya,

$ ssh -R 3336:192.168.239.133:3000 [email protected]

Perintah tersebut akan membuat ssh mendengarkan server ssh di port 3336, dan menyalurkan semua lalu lintas ke port 3000.

ssh -C -D

Opsi -D memungkinkan penerusan port dinamis. Port SOCKS yang biasa adalah 1001, namun, nomor port apa pun dapat digunakan; namun, beberapa program hanya akan bekerja pada port 1001.

Sintaks dasar untuk penerusan dinamis adalah sebagai berikut.

ssh -D [LOCAL_IP:]LOCAL_PORT [USERNAME]@[HOSTNAME/IP ADDRESS]

Misalnya,

$ sudo ssh -C -D 1001 [email protected] 

-D menentukan penerusan port dinamis di port 1001 dan -C memungkinkan kompresi.

ssh -X

Opsi -X digunakan bersama dengan ssh untuk penerusan X11. Berikut ini adalah sintaks untuk penerusan X11.

ssh -X [USERNAME]@[HOSTNAME/IP ADDRESS]

Gunakan perintah berikut, untuk mengaktifkan penerusan X11 pada pengguna kali dengan alamat IP 192.168.239.134.

$ ssh -X 192.168.239.134

ssh -Y

Opsi -Y digunakan bersama dengan ssh untuk penerusan Trusted X11. Ini berarti X11 jarak jauh akan memiliki akses penuh ke layar X11 asli.

ssh -Y [USERNAME]@[HOSTNAME/IP ADDRESS]

Gunakan perintah berikut, untuk mengaktifkan penerusan Trusted X11 pada pengguna kali dengan alamat IP 192.168.239.134.

$ ssh -Y 192.168.239.134

ssh -o

Opsi -o dapat digunakan dengan opsi lain.

Misalnya,

$ ssh -o "batchmode=yes" [email protected]

Jika Anda menggunakan ssh -o "batchmode=yes", perintah akan berhasil dijalankan pada mesin jarak jauh jika konektivitas tanpa kata sandi diaktifkan, jika tidak, akan mengembalikan kesalahan.

Beberapa opsi baris perintah yang paling penting diperlihatkan dalam tabel berikut.

Opsi Deskripsi
-A Ini memungkinkan koneksi agen otentikasi untuk diteruskan.
-a Ini menonaktifkan koneksi agen otentikasi yang akan diteruskan.
-b Digunakan untuk mengikat alamat sumber.
-C Digunakan untuk kompresi data.
-c cipher_spec Ini memilih spesifikasi sandi untuk mengenkripsi sesi.
-D Ini bertanggung jawab untuk penerusan port tingkat aplikasi dinamis.
-E log_file Ini menambahkan log debug ke log_file alih-alih kesalahan standar.
-F file konfigurasi Ini menentukan file konfigurasi per pengguna.
-g Ini memungkinkan host jarak jauh untuk terhubung ke port lokal yang diteruskan.
-i identity_file Membaca kunci pribadi untuk otentikasi kunci publik.
-j Ini menentukan arahan konfigurasi ProxyJump.
-l login_name Ini menentukan pengguna untuk masuk ke mesin jarak jauh.
-p port Digunakan untuk menentukan port yang akan dihubungkan ke host jarak jauh.
-q Ini adalah mode senyap.
-V Mode verbose.
-X Ini memungkinkan penerusan X11
-Y Ini memungkinkan penerusan X11 Tepercaya

Kesimpulan

Dalam tutorial ini, kita belajar bagaimana menggunakan perintah ssh bersama dengan contoh-contoh yang berguna. Terima kasih telah membaca, berikan tanggapan dan saran Anda di bagian komentar di bawah.


Linux
  1. Kirim perintah ke beberapa sesi SSH dengan Terminator

  2. 10+ perintah Linux VI dengan contoh

  3. Perintah JQ di Linux dengan Contoh

  1. Perintah wc Linux dengan Contoh

  2. 19 Perintah SSH Umum di Linux Dengan Contoh

  3. Lembar Cheat Perintah Linux:Dengan Contoh

  1. Perintah Netstat di Linux - 28 Perintah dengan Contoh

  2. Cara Menjalankan Perintah Linux di Sistem Jarak Jauh melalui SSH

  3. Pelajari Perintah Git dengan Contoh Praktis di Linux – Bagian 1