Penggunaan dan Konfigurasi Perintah SSH Dasar di Linux

Penggunaan dan Konfigurasi Perintah SSH Dasar di Linux

Singkat: Dalam panduan ini, kita akan membahas kasus penggunaan umum SSH. Kami juga akan membahas konfigurasi SSH yang umum digunakan yang dapat digunakan dalam kehidupan sehari-hari untuk meningkatkan produktivitas Anda.

Shell aman (Ssh) adalah protokol jaringan yang diadopsi secara luas, yang memungkinkan kami untuk berinteraksi dengan host jarak jauh dengan cara yang aman. Ini memberikan keamanan dengan mengenkripsi semua komunikasi di antara mereka.

Cara menggunakan perintah ssh di linux

Di bagian ini, kita akan membahas beberapa kasus penggunaan populer dari Ssh protokol.

Hubungkan ke host Linux jarak jauh

Ada berbagai cara untuk berinteraksi dengan host Linux jarak jauh menggunakan protokol seperti telnet, ftp, netcat, dll. Namun, ini tidak aman karena tidak adanya enkripsi. Kita dapat menggunakan protokol ssh untuk memungkinkan komunikasi yang aman antara host.

Kami harus menggunakan Ssh klien untuk berinteraksi dengan host jarak jauh. Ada banyak klien berbasis GUI dan CLI yang tersedia untuk Linux. Namun, di seluruh panduan ini, kami akan menggunakan utilitas baris perintah yang dipanggil ssh. Secara default, ssh Utilitas tersedia di sebagian besar distribusi Linux.

Sintaks dari perintah SSH adalah sebagai berikut:

$ ssh [opsi] [perintah] [args] 

Di sini, tanda kurung persegi ([]) mewakili argumen opsional sedangkan kurung sudut () mewakili argumen wajib.

Mari kita terhubung ke host jarak jauh menggunakan ssh klien:

$ ssh -l root 192.168.19.130 

Dalam contoh ini, kami menentukan nama login menggunakan -l opsi dan tujuannya 192.168.19.130. Koneksi SSH dibuat setelah memasukkan kata sandi yang benar. Sekarang dan seterusnya, kita dapat menjalankan perintah pada host jarak jauh seperti sistem lokal.

# nama host 

Untuk mengakhiri sesi, kami dapat menggunakan KELUAR perintah atau Ctrl+d Kombinasi kunci.

SSH Connect ke host Linux jarak jauh

Penting untuk dicatat bahwa kita harus mengotentikasi dengan host jarak jauh untuk setiap sesi baru. Untuk menghindari memasukkan kata sandi setiap kali, kami dapat mengatur login tanpa kata sandi SSH.

Jalankan perintah di host jarak jauh

Pada bagian sebelumnya, kami melihat cara membuat koneksi dengan host jarak jauh, yang hanya cocok ketika kami akan menggunakan host jarak jauh untuk durasi yang lebih lama. Terkadang, kita hanya perlu menjalankan satu atau dua perintah di host jarak jauh. Dalam kasus seperti itu, kami dapat menjalankan perintah itu tanpa membuat sesi jangka panjang.

Mari kita jalankan perintah hostname di host jarak jauh:

$ ssh -l root 192.168.19.130 nama host 

Dengan cara yang sama, kita dapat menjalankan beberapa perintah pada mesin Linux jarak jauh:

$ ssh -l root 192.168.19.130 'nama host; PWD ' 
Perintah SSH Run di Linux Jarak Jauh

Penting untuk dicatat bahwa, perintah harus terlampir dalam kutipan dan dipisahkan oleh semi-kolon (;) karakter. Jika Anda ingin menjalankan perintah pada beberapa host Linux jarak jauh, baca artikel kami - PSSH - Jalankan perintah pada beberapa host Linux jarak jauh.

Jalankan skrip di host jarak jauh

Mirip dengan perintah kami juga dapat menjalankan skrip lokal di host jarak jauh. Mari kita pahami ini dengan sebuah contoh.

Pertama, buat skrip shell sederhana pada mesin lokal dengan izin yang dapat dieksekusi di atasnya:

$ Cat Script.SH HOSTNAME PWD 

Sekarang, mari kita jalankan di host jarak jauh:

$ ssh [email dilindungi] 'bash -s' < ./script.sh 

Dalam contoh ini, kami telah menggunakan -S opsi bash untuk membaca skrip dari input standar.

Ssh run skrip di linux jarak jauh

Salin file di antara host

Kami sangat sering bekerja dengan file dan direktori. Satu operasi umum yang dilakukan pengguna adalah menyalin direktori dan file. Sama seperti mesin lokal, kami dapat menyalin file dan direktori antara host jarak jauh menggunakan perintah scp, yang menyalin file dengan aman menggunakan protokol ssh.

Mari Salin naskah.SH file ke /tmp Direktori host jarak jauh:

$ SCP Script.sh [email dilindungi]:/tmp 

Sekarang, verifikasi file itu telah disalin:

$ ssh [email dilindungi] 'ls /tmp /skrip.SH' 
SSH menyalin file ke Linux jarak jauh

Dengan cara yang sama, kita dapat menggunakan perintah scp untuk menyalin direktori. Namun, kita harus menggunakan -R Opsi dengan perintah.

Aktifkan kompresi untuk ssh

Ssh mendukung kompresi data menggunakan Gzip algoritma kompresi, yang mengompres semua aliran data yang mungkin seperti stdin, stdout, stderr, dan sebagainya. Opsi ini sangat berguna saat menggunakan koneksi jaringan lambat.

Kami dapat mengaktifkan kompresi di SSH menggunakan -C pilihan:

$ ssh -c -l root 192.168.19.130 'nama host' 
SSH mengaktifkan kompresi

Aktifkan mode verbose untuk ssh

Pengguna Linux sering perlu men-debug sesi SSH untuk menyelidiki berbagai koneksi SSH dan masalah yang berhubungan dengan konfigurasi. Dalam kasus seperti itu, kami dapat mengaktifkan mode verbose yang mencetak log debug dari sesi saat ini.

Mari kita aktifkan mode verbose menggunakan -v pilihan:

$ ssh -v -l root 192.168.19.130 nama host 

Selain itu, kita dapat meningkatkan level verbositas dengan menggunakan banyak -v pilihan.

  • -v - Menetapkan level verbositas menjadi 1 dan memberikan perincian tentang aktivitas sisi klien.
  • -vv - Menetapkan level verbositas ke 2 dan memberikan perincian tentang klien dan aktivitas sisi server.
  • -VVV - Menetapkan level verbositas ke 3 dan memberikan informasi yang lebih rinci tentang aktivitas klien dan sisi server.

Level verbositas maksimum yang didukung oleh SSH adalah 3. Mari kita lihat ini beraksi:

$ ssh -vvv -l root 192.168.19.130 nama host 
SSH Enbale Verbose Mode

Dalam contoh di atas, debug1 mewakili pesan debug yang diaktifkan oleh level verbositas 1. Demikian pula, debug2 Dan Debug3 mewakili pesan debug yang diaktifkan oleh level verbositas 2 dan 3 masing -masing.

Urutan melarikan diri di SSH

Kita dapat menggunakan urutan pelarian dengan Ssh Untuk mengelola sesi terminal klien. Mari kita bahas urutan pelarian yang umum digunakan dengan kasus penggunaan yang sesuai.

Menangguhkan sesi SSH

Terkadang, kita harus melakukan beberapa kegiatan di mesin lokal tanpa mengakhiri sesi SSH saat ini. Dalam skenario seperti itu, kita dapat menangguhkan sesi saat ini menggunakan ~ + ctrl + z Urutan kunci.

Pertama, masuk ke host jarak jauh dan jalankan nama host memerintah:

$ ssh -l root 192.168.19.130 # Hostname 

Selanjutnya, untuk menangguhkan sesi saat ini Tilde (~) karakter dan kemudian tekan ctrl + z kunci. Penting untuk dicatat bahwa tilde (~) karakter tidak akan ditampilkan di stdout sampai kita menekan ctrl + z.

Sekarang, mari kita verifikasi bahwa sesi telah ditangguhkan:

$ Jobs 

Di sini, kita dapat melihat bahwa sesi SSH saat ini berjalan di latar belakang.

Mari kita lanjutkan sesi lagi menggunakan FG Perintah dan jalankan nama host memerintah:

$ fg %1 
Jalankan sesi SSH di latar belakang
Hentikan sesi SSH beku

Saya yakin Anda pasti telah melihat sesi SSH beku, yang terjadi ketika sesi tersebut terganggu oleh jaringan yang tidak stabil. Di sini, kami tidak dapat membatalkan sesi menggunakan KELUAR memerintah. Namun, kami dapat menghentikannya menggunakan "~ + ." Urutan kunci.

Pertama, masuk ke host jarak jauh:

$ ssh -l root 192.168.19.130 

Sekarang gunakan "~ + ." Kombinasi kunci untuk mengakhiri sesi saat ini.

Hentikan sesi SSH

Dalam contoh ini, kita bisa melihat itu Ssh Menampilkan pesannya - Koneksi ke 192.168.19.130 ditutup.

Daftar Urutan Escape yang Didukung

Satu hal yang menarik adalah bahwa ada urutan pelarian untuk membuat daftar semua urutan pelarian yang didukung. Kita bisa menggunakan “~ + ?" Urutan melarikan diri untuk mendaftar urutan pelarian yang didukung:

Urutan Escape yang Didukung

Di sini, kita harus menekan tombol enter untuk keluar dari menu bantuan.

Cara mengkonfigurasi ssh di linux

Di bagian ini, kami akan membahas konfigurasi sisi server untuk mengeraskan server SSH. SSH Server menyimpan semua konfigurasinya di /etc/ssh/sshd_config mengajukan. Penting untuk dicatat bahwa, akses pengguna root diperlukan untuk memperbarui konfigurasi SSH.

Tampilkan spanduk SSH

Sebagai praktik terbaik, kita harus selalu menampilkan spanduk sebelum membuat koneksi SSH. Dalam beberapa kasus, ini mencegah pengguna yang tidak sah mengakses host jarak jauh. Mari kita lihat bagaimana mengaktifkan pengaturan ini langkah demi langkah.

Pertama, buat file teks di server jarak jauh dengan pesan peringatan:

# vi /etc /spanduk.txt 

Selanjutnya, tambahkan pesan spanduk berikut:

********************************************** ******************* Peringatan !!! Anda mencoba masuk ke TechMint.server com. Semua kegiatan di server ini dipantau. Hentikan sesi segera jika Anda bukan pengguna yang berwenang. ********************************************** ******************* 

Selanjutnya, buka /etc/ssh/sshd_config file dan tentukan file dengan Spanduk pengarahan:

Banner /etc /spanduk.txt 

Sekarang, restart sshd layanan dan hentikan sesi menggunakan KELUAR memerintah:

# Systemctl Restart SSHD # Exit 

Akhirnya, verifikasi spanduk dengan masuk ke host jarak jauh:

$ ssh -l root 192.168.19.130 
Tampilkan spanduk SSH

Di sini, kita dapat sehingga server menampilkan spanduk SSH dengan benar.

Nonaktifkan Login Root SSH

Sejauh ini, kami menggunakan pengguna root untuk mengakses host jarak jauh. Namun, ini bertentangan dengan prinsip hak istimewa paling tidak. Dalam lingkungan produksi, akses pengguna root selalu terbatas untuk meningkatkan keamanan.

Kita bisa menggunakan Leverrootlogin Petunjuk untuk Menonaktifkan Login Pengguna Root.

Pertama, buka /etc/ssh/sshd_config file dan gunakan opsi TIDAK dengan Leverrootlogin pengarahan:

Imbinrootlogin no 

Sekarang, restart sshd layanan dan hentikan sesi menggunakan KELUAR memerintah:

# Systemctl Restart SSHD # Exit 

Akhirnya, verifikasi ini dengan membuat sesi SSH baru:

$ ssh -l root 192.168.19.130 
Nonaktifkan Login Root SSH

Di sini, kita dapat mengamati bahwa kita tidak dapat masuk ke host jarak jauh dengan pengguna root. Untuk mengizinkan login pengguna root, kami dapat menggunakan opsi tersebut Ya dengan arahan yang sama.

Ubah port SSH default

Secara default, Ssh Menggunakan TCP Port 22. Namun, kami dapat mengonfigurasi SSH untuk menjalankan pada port yang berbeda i.e. 8088.

Pertama, buka /etc/ssh/sshd_config file dan gunakan 8088 nilai dengan Pelabuhan pengarahan:

Port 8088 

Selanjutnya, restart layanan SSHD dan hentikan sesi:

# Systemctl Restart SSHD # Exit 

Sekarang, mari masuk ke host jarak jauh:

$ ssh -p 8088 -l root 192.168.19.130 
Ubah port ssh

Dalam contoh ini, kami telah menggunakan -P opsi untuk menentukan nomor port.

Dalam beberapa kasus, kita harus melakukan beberapa langkah lain untuk memungkinkan komunikasi pada port non-default. Seperti mengidentifikasi port yang tersedia, memperbarui aturan firewall, pengaturan selinux, dll.

Dalam artikel ini, kami membahas protokol SSH dan kasus penggunaan umumnya. Selanjutnya, kami membahas beberapa opsi umum. Akhirnya, kami membahas beberapa pengaturan untuk mengamankan server SSH.

Apakah Anda tahu penggunaan perintah SSH terbaik lainnya di Linux? Beri tahu kami pandangan Anda di komentar di bawah.