SSH (Klien SSH ) adalah program untuk mengakses mesin dari jarak jauh, program ini memungkinkan pengguna untuk menjalankan perintah pada host jarak jauh. Ini adalah salah satu metode yang paling direkomendasikan untuk masuk ke host jarak jauh, karena dirancang untuk menyediakan komunikasi terenkripsi yang aman antara dua host yang tidak tepercaya melalui jaringan yang tidak aman.
SSH menggunakan file konfigurasi seluruh sistem maupun khusus pengguna (kustom). Dalam tutorial ini, kami akan menjelaskan cara membuat file konfigurasi ssh khusus dan menggunakan opsi tertentu untuk terhubung ke host jarak jauh.
Persyaratan:
- Anda harus menginstal klien OpenSSH di desktop Linux Anda.
- Pahami opsi umum yang digunakan untuk koneksi jarak jauh melalui ssh.
File Konfigurasi Klien SSH
Di bawah ini adalah lokasi file konfigurasi klien ssh:
/etc/ssh/ssh_config
– ini adalah file konfigurasi default seluruh sistem. Ini berisi pengaturan yang berlaku untuk semua pengguna mesin klien ssh.~/.ssh/config
atau$HOME/.ssh/config
– adalah file konfigurasi khusus pengguna/kustom. Ini memiliki konfigurasi yang berlaku untuk pengguna tertentu. Oleh karena itu mengesampingkan pengaturan default dalam file konfigurasi seluruh sistem. Ini adalah file yang akan kita buat dan gunakan.
Secara default, pengguna diautentikasi dalam ssh menggunakan kata sandi, namun, Anda dapat mengatur login tanpa kata sandi ssh menggunakan ssh keygen dalam 5 langkah sederhana.
Catatan :Jika direktori ~/.ssh
tidak ada di sistem desktop Anda, buat dengan izin berikut.
$ mkdir -p ~/.ssh $ chmod 0700 ~/.ssh
chmod perintah di atas menyiratkan bahwa hanya pengguna yang dapat membaca, menulis, dan menjalankan izin pada direktori seperti yang dipersyaratkan oleh pengaturan ssh.
Cara Membuat File Konfigurasi SSH Khusus Pengguna
File ini biasanya tidak dibuat secara default, jadi Anda perlu membuatnya dengan izin baca/tulis hanya untuk pengguna.
$ touch ~/.ssh/config $ chmod 0700 ~/.ssh/config
File di atas berisi bagian yang ditentukan oleh spesifikasi host, dan bagian hanya diterapkan ke host yang cocok dengan salah satu pola yang ditetapkan dalam spesifikasi.
Format konvensional ~/.ssh/config
adalah sebagai berikut, dan semua baris kosong serta baris yang dimulai dengan ‘#’
dianggap sebagai komentar:
Host host1 ssh_option1=value1 ssh_option2=value1 value2 ssh_option3=value1 Host host2 ssh_option1=value1 ssh_option2=value1 value2 Host * ssh_option1=value1 ssh_option2=value1 value2
Dari format di atas:
- Tuan rumah tuan rumah1 – adalah definisi header untuk host1 , di sinilah spesifikasi host dimulai dan diakhiri dengan definisi header berikutnya, Host host2 membuat bagian.
- host1 , host2 hanyalah alias host untuk digunakan pada baris perintah, itu bukan nama host sebenarnya dari host jarak jauh.
- Opsi konfigurasi seperti ssh_option1=value1 , ssh_option2=nilai1 nilai2 berlaku untuk host yang cocok dan harus diindentasi untuk pemformatan yang terorganisir dengan baik.
- Untuk opsi seperti ssh_option2=value1 value2 , nilai nilai1 dipertimbangkan terlebih dahulu, lalu nilai2 .
- Definisi header Host * (di mana
*
adalah pola – karakter pengganti yang cocok dengan nol atau lebih karakter) akan cocok dengan nol atau lebih host.
Masih mempertimbangkan format di atas, beginilah cara ssh membaca file konfigurasi. Jika Anda menjalankan perintah ssh untuk mengakses host1 dari jarak jauh seperti ini:
$ ssh host1
Perintah ssh di atas akan melakukan hal-hal berikut:
- cocok dengan alias host host1 di file konfigurasi dan menerapkan opsi yang ditetapkan di bawah tajuk definisi, Host host1 .
- lalu pindah ke bagian host berikutnya, Host host2 dan menemukan bahwa nama yang diberikan pada baris perintah tidak cocok, jadi tidak ada opsi yang digunakan dari sini.
- Ini berlanjut ke bagian terakhir, Host * , yang cocok dengan semua host. Di sini, ini menerapkan semua opsi di bagian ini ke koneksi host. Tapi itu tidak bisa mengesampingkan nilai opsi apa pun yang sudah digunakan di bagian sebelumnya.
- Hal yang sama berlaku untuk host2 .
Cara Menggunakan File Konfigurasi SSH Khusus Pengguna
Setelah Anda memahami cara kerja file konfigurasi klien ssh, Anda dapat membuatnya sebagai berikut. Ingatlah untuk menggunakan opsi dan nilai (alias host, nomor port, nama pengguna, dan sebagainya) yang berlaku untuk lingkungan server Anda.
Buka file konfigurasi dengan editor favorit Anda:
$ vi ~/.ssh/config
Dan tentukan bagian yang diperlukan:
Host fedora25 HostName 192.168.56.15 Port 22 ForwardX11 no Host centos7 HostName 192.168.56.10 Port 22 ForwardX11 no Host ubuntu HostName 192.168.56.5 Port 2222 ForwardX11 yes Host * User tecmint IdentityFile ~/.ssh/id_rsa Protocol 2 Compression yes ServerAliveInterval 60 ServerAliveCountMax 20 LogLevel INFO
Penjelasan rinci tentang opsi konfigurasi ssh di atas.
- Nama Inang – mendefinisikan nama host asli untuk login, sebagai alternatif, Anda dapat menggunakan alamat IP numerik, ini juga diizinkan (baik di baris perintah dan di HostName spesifikasi).
- Pengguna – menentukan pengguna untuk masuk sebagai.
- Pelabuhan – menyetel nomor port untuk terhubung pada host jarak jauh, defaultnya adalah 22 . Gunakan nomor port yang dikonfigurasi dalam file konfigurasi sshd host jarak jauh.
- Protokol – opsi ini menentukan versi protokol yang harus didukung ssh dalam urutan preferensi. Nilai yang biasa digunakan adalah ‘1’ dan ‘2’ , beberapa versi harus dipisahkan dengan koma.
- File Identitas – menentukan file dari mana identitas otentikasi DSA, Ed25519, RSA atau ECDSA pengguna dibaca.
- MajuX11 – menentukan apakah koneksi X11 akan dialihkan secara otomatis melalui saluran aman dan set DISPLAY. Ini memiliki dua kemungkinan nilai “ya” atau “tidak” .
- Kompresi – digunakan untuk menyetel kompresi selama koneksi jarak jauh dengan “ya” nilai. Standarnya adalah “tidak” .
- ServerAliveInterval – menetapkan interval waktu habis dalam hitungan detik setelah itu jika tidak ada respons (atau data) yang diterima dari server, ssh akan mengirim pesan melalui saluran terenkripsi untuk meminta respons dari server. Nilai defaultnya adalah 0 , artinya tidak ada pesan yang akan dikirim ke server, atau 300 jika opsi BatchMode telah ditentukan.
- ServerAliveCountMax – menyetel jumlah pesan hidup server yang dapat dikirim tanpa ssh menerima respons apa pun dari server.
- Level Log – mendefinisikan tingkat verbositas yang digunakan saat mencatat pesan dari ssh. Nilai yang diizinkan meliputi:QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, dan DEBUG3. Dan defaultnya adalah INFO.
Cara standar untuk menghubungkan ke host Linux jarak jauh (CentOS 7 – dalam kasus saya), ditentukan di bagian dua dari file konfigurasi di atas, kami biasanya mengetikkan perintah di bawah ini:
$ ssh -i ~/.ssh/id_rsa -p 22 [email protected]
Namun, dengan menggunakan file konfigurasi klien ssh, kita cukup mengetikkan perintah berikut:
$ ssh centos7
Anda dapat menemukan lebih banyak opsi dan contoh penggunaan di halaman manual konfigurasi klien ssh:
$man ssh_config
Itu saja untuk saat ini, dalam panduan ini, kami menjelaskan cara menggunakan file konfigurasi klien ssh khusus pengguna (kustom) di Linux. Gunakan formulir umpan balik di bawah ini untuk menulis kembali kepada kami tentang artikel ini.